如何为 iphone 5 和 iphone 6 创建不同的约束

How to create different constraints for iphone 5 and iphone 6

是否可以在不影响 iPhone 6 的情况下专门为 iPhone 4s 和 5s 创建约束?

请看上图:

滚动视图的高度与内容视图的高度相同。我更改了乘数,使其成为单元格实际高度的 40%。

单元格是固定高度,与主单元格高度相同window。

如果你在左边的预览图上看到,5s和4s的设备确实没有space。所以我想知道如何解决这个设计问题。

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

约束与其他 IB 项目一样,因为它们可以是 IBOutlets。只需从 IB 对象轮廓中的约束拖动到关联的视图控制器。在视图控制器中,您可以根据设备类型在代码中调整其值。

希望对您有所帮助。

很遗憾,您不能这样做。您的问题的解决方案是更改约束的 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 或纵向/横向模式创建通用故事板。

请尝试对所有具有 window 视图的视图使用纵横比。它将计算屏幕尺寸并自动对齐以满足您的约束。我有同样的问题,我通过设置宽高比克服了。

请看这个,link http://mathewsanders.com/designing-adaptive-layouts-for-iphone-6-plus/