这是我在过去几个小时里一直在努力解决的问题。
我有一个视图控制器,它包含几个标签、一张图片和一个表格视图。我使用autolayout/size类,以便只对支持的各种设备使用一个故事板(意思是: iphones和iPad的所有尺寸)。
新的一切都在工作,除了一件事:“宽度紧凑x高度紧凑”中的设置用于3"5和4“iPhones在横向。因此,要么我说表格视图占用480px,而iPhones 5/5S上有很多空间,要么我将其设置为480px,但这样我就不能可靠地在单元格中垂直对齐项目。
为什么没有办法说“这个视图应该始终是全宽的”?
任何解决方案,甚至是变通方法,都可以。非常感谢您的宝贵时间!
发布于 2014-10-20 01:08:55
3.5“、4”和4.7“设备的尺寸类别没有区别。它们在水平和垂直方向上都有相同的尺寸类别,在旋转时的表现也是相同的。
您可以定义一个视图来占用所有可用空间。显式设置底视图和俯视图分别附加到具有约束的底边和顶边,并将中间视图(在您的示例中为表视图)设置为占用中间的所有空间,方法是使用顶视图设置顶部约束,使用底视图设置底部约束。现在,由于顶部视图附加到顶部,底部附加到底部,因此您将根据需要放大和缩小中间视图。
发布于 2014-10-22 18:06:29
有几种方法可以获得基于百分比的大小。
假设您想要设置一个TitleLabel,使其相对于另一个元素具有相对宽度。
方法1的示例:
按住Ctrl键并从TitleLabel拖动到另一个目标元素(如其父视图),然后选择
width ,如果希望宽度为50%,则可以将约束设置中的Multiplier字段更改为0.5。
方法2的示例:
将TitleLabel的相应边缘固定到其超级视图的中心、底部或尾部边缘*(编辑器->将-> X空间固定到超级视图)。
在约束设置中,确保在First Item字段中设置TitleLabel,并将Superview设置为Second Item。
*由于Superview的顶部/前缘将具有0值,因此对这些值进行乘法将不起作用,因为0 x 0=0。
我发现方法#1在表视图中不能很好地工作,所以你可能会更幸运地使用#2。
https://stackoverflow.com/questions/26452943
复制相似问题