在过去的几个月里,我一直在使用自动布局练习代码中的所有布局。
我已经决定回到故事板并且我已经后悔了:-)。我一直在尝试使用包含UIStackView的多个视图进行布局,并且遇到了很多错误。我想也许我在使用StackView做错了所以我决定删除除按钮和标签之外的所有内容。
带有标签和按钮的简单视图如下所示:
如您所见,标签上的约束非常简单。右上角的按钮(蓝色所在的位置)只有顶部空间和尾随空格。但是当我运行应用程序时,看不到标签:
我也经常得到:An internal error occurred. Editing functionality may be limited.
有没有其他人经历过这种奇怪的行为?
答案 0 :(得分:1)
答案 1 :(得分:1)
您有硬编码的前导和尾随约束常量。它们总计达518.这可能会使您的标签宽度为负。您没有在Storyboard中看到它,因为您正在使用推断的模拟指标。如果换成3.5英寸iPhone,你会马上看到它。
我认为更好的方法是删除前导和尾随约束,并在超视图中水平居中标签。如果需要,您可以在标签上设置固定宽度。
答案 2 :(得分:1)
您已设置标签的前导和尾随。这肯定会发生,因为你设置了错误的约束。检查视图控制器的大小,您可以在其中设置约束,它(任意宽度,任何高度)。
现在,检查您正在运行的尺寸,(紧凑宽度,常规高度)。如果你在iPad上运行它,你会找到你的标签。因为,您没有固定标签的宽度,标签在运行时会被压缩。尝试设置标签的宽度并删除前导或尾随约束。
否则你可以修改你的宽度并选择前导和尾随并将其设置为“小于等于”而不是“等于”。
虽然设计想象自己持有对象时要记住可能发生的所有可能性,然后相应地设置约束。用户可以在任何尺寸的iPhone和iPad上运行您的应用程序。因此,设计应该不会影响其中的对象。
如果出现任何问题,请尝试查看调试,然后您肯定可以找到错误的位置。