我希望能够创建一个uilabel,它将以比普通自动布局更复杂的方式调整大小。我在网上查过这个问题的答案,但没有用。
这就是我想要它做的。
假设你在iPhone上观看。我希望它是从中间的任何一个以边缘为中心的16分。(高度不重要)
但是,当屏幕变宽时,我希望uilabel可以拉伸,使其从每个边缘向外16点,直到达到,比如说,500宽。一旦它达到500宽,我就不想再宽了。这就是每边16个点增加的地方,仍然保持标签在中间。
现在你可以在iPad上观看了。uilabel正好有500点宽,在中间。
如果可能的话,我希望能够使用自动布局来完成这个任务,而不是使用代码,但是如果必须使用代码,我可以处理这个问题。
您可以使用3个约束进行此操作:
当视图较宽时(如iPad上),标签将伸展至 500 . 自动布局 将保持标签居中,并将尽最大努力满足第三个约束,使前导空格尽可能靠近 16 尽可能。它选择打破这个约束,因为优先级小于 1000 .
500
16
1000
当视图较窄时(如iPhone),标签将有一个前导空格 十六 (和尾随空格 十六 因为标签居中)。宽度将是剩余的,因为它满足 width <= 500 约束。
十六
width <= 500