是否可以在不影响iPhone 6的情况下专门为iPhone 4s和5s创建约束?
请参阅上图:
scrollview的高度与内容视图的高度相同。我改变了乘数,使其达到了细胞实际高度的40%。
单元格是固定高度,与主窗口的高度相同。
如果您可以在左侧预览中看到,则5s和4s设备实际上没有空间。所以我想知道如何处理这个设计问题。
答案 0 :(得分:4)
请尝试使用窗口视图的所有视图使用宽高比。它将计算屏幕大小,它将自动对齐以满足您的约束。我有同样的问题,我通过设置宽高比来克服。
请查看此链接http://mathewsanders.com/designing-adaptive-layouts-for-iphone-6-plus/
答案 1 :(得分:2)
不幸的是你不能这样做。您的问题的解决方案是更改约束的constant
。因此,我建议您检测用户的设备see here how to do it并更改约束值,如下所示:
-(void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
if (IS_IPHONE_6) {
self.verticalConstraintOfButtonToTop.constant = 22;
} else if (IS_IPHONE_5) {
self.verticalConstraintOfButtonToTop.constant = 17;
}
}
或者您可以创建单独的故事板并使用它。
此外,您可以使用Size Classes
为iPhone和iPad或纵向/横向模式创建通用故事板。
答案 2 :(得分:0)
我真的不明白你的问题。也许这会有所帮助:
约束与其他IB项目一样,因为它们可以是IBOutlets。只需从IB对象轮廓中的约束拖动到关联的视图控制器。在视图控制器中,您可以根据设备类型在代码中调整其值。
希望这有帮助。