如何为 iPhone 5 和 iPhone 6 创建不同的约束条件

4
有没有可能创建一个专门针对iPhone 4s和5s的约束,而不影响iPhone 6?
请参见上面的图片:
滚动视图的高度与内容视图的高度相等。我改变了乘数,使其成为实际单元格高度的40%。
单元格是固定高度,与主窗口的高度相同。
如果您可以在左侧的预览中看到,对于5s和4s设备,真的没有空间。因此,我想知道如何解决这个设计问题。

不需要编写任何代码:https://dev59.com/DFYM5IYBdhLWcg3wlQ7I#55689309 - tryKuldeepTanwar
3个回答

4

2

很遗憾,您无法这样做。解决您的问题是更改约束的constant。因此,我建议您检测用户设备查看此处如何执行并更改约束值,例如:

-(void)viewWillLayoutSubviews {
    [super viewWillLayoutSubviews];

    if (IS_IPHONE_6) {
        self.verticalConstraintOfButtonToTop.constant = 22;

    } else if (IS_IPHONE_5) {
        self.verticalConstraintOfButtonToTop.constant = 17;
    }
}

或者您可以创建独立的故事板并使用它。
此外,您还可以使用“尺寸类”为iPhone、iPad或纵向/横向模式创建通用故事板。

0

我不太明白你的问题。也许这会有所帮助:

约束条件与其他 IB 项一样,可以成为 IBOutlets。只需从 IB 对象概述中的约束条件拖动 ctl 到相关的视图控制器即可。在视图控制器中,您可以根据设备类型在代码中调整其值。

希望这能有所帮助。


谢谢回复。我的问题是如何在Storyboard上为iPhone 5s创建约束,而不影响iPhone 6的布局。Size classes无法区分这些设备。 - Richard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接