如果可能的话,我想稍微澄清约束如何适用于TextView。
我添加了一个位于视图下按钮下的textView。有一段时间我无法正确显示它。
忘记高度和宽度一分钟我的印象是我至少可以通过添加水平约束来居中TextView。似乎并非如此。所以我添加了一个约束,顶部距离它的邻居30。
因此,在我的脑海中,TextView应该在x轴上居中,并且在按钮下方40。再一次没有显示出来。
现在回到高度和宽度。只有在添加这两个约束时,我的TextView才会正确居中。
问题1 这是正确的行为以及原因。我似乎能够显示一个不使用高度和宽度约束的按钮。
问题2 没有实现Xcode提示您执行的所有约束会产生什么影响。在我的一些工作中,我添加了一些似乎正确显示的约束,但Xcode仍然会更喜欢。例如对于textBox,如果我在Xcode中放置一个水平约束仍然需要和x位置或宽度约束,即使我的iPhone和iPad上的TextBox大小都很好。
答案 0 :(得分:1)
原因。我似乎能够显示一个不使用高度和宽度约束的按钮。
因为UIButton具有 instrinsic 高度和宽度约束。它们的优先级低于您提供的显式高度和宽度约束,但如果您不提供任何约束,则内在约束生效。
通常,灾难。如果您没有提供足够的约束,则会出现不明确的约束。您可能获得您希望的结果,但您可能不会。幸运的话,你什么都看不到。这不值得冒风险。一般来说,相信Xcode。它比你知道的更多。没有实现Xcode提示您执行的所有约束会产生什么影响。