【问题标题】:adding nearest neighbour constraints to a NStextfield causes it to shrink to the size of the text将最近邻约束添加到 NStextfield 会导致它缩小到文本的大小
【发布时间】:2016-06-05 14:40:29
【问题描述】:

编辑:我找到了正确的解决方案,并将其包含在问题的底部

我有一个文本字段。我将文本字段限制为最近的邻居,在这种情况下是视图,当我这样做时,文本字段的高度超出了我的控制范围,并且与文本的大小完全匹配。如何在文本框不自动调整大小的情况下将文本框限制为最近的邻居。下面是一张图片,显示了我的约束和文本字段希望调整大小的橙色轮廓。它还显示视图将缩小到 62 的预期高度,也就是文本框的大小。

我要补充一点,当我在检查器中检查约束时,我发现文本框并不总是设置为第一项。当我将文本框设置为所有约束中的第一项时,宽度变得可编辑。

答案:

1) 向文本框添加约束以将内容拥抱作为低优先级的秘诀,例如。 250. 看上图,你可以看到垂直拥抱的内容是750或高优先级,而水平拥抱的内容是低优先级(=250)。因此,我可以将低优先级的宽度限制为最近邻,但不能限制高优先级的高度。 有关更多信息,请查看此文档

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html#//apple_ref/doc/uid/TP40010853-CH10-SW2

2) 每个约束在检查器中都有第一项和第二项。第二项从第一项获取其属性(例如大小)。如上图所示,双击尺寸检查器中的约束以更仔细地检查约束

【问题讨论】:

  • 似乎您还有其他与高度相关的限制。所以我会建议删除现有的约束,并添加垂直和水平中心约束。
  • 这是个好建议,谢谢。有效。虽然我无法调整文本框的大小,但我能够将它放在正确的位置。
  • 让我知道如何帮助调整文本框大小。如果对你有帮助,我想请你接受我的回答,谢谢:)

标签: ios xcode autolayout


【解决方案1】:

布局引擎不知道您想要父视图(在这种情况下是您的视图控制器)的大小,因此它采用文本字段的固有内容大小。

您是否希望文本字段与需要的一样大?然后不要触摸它,您的文本字段将调整大小以包含文本,使用您的约束来放置自己。

你想让你的视图控制器有一定的尺寸吗? (例如,如果你想要一个特定的背景图像适合)那么你可能需要考虑为你的父视图添加约束,以便它保持一定的大小或纵横比。

【讨论】:

    【解决方案2】:

    我会建议删除现有的约束,并添加垂直和水平中心约束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 2016-11-26
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多