【发布时间】:2015-03-13 20:11:33
【问题描述】:
我为每种设备设计了不同的偏移量和元素大小。 有没有什么方法可以为不同的 iphone 纵向设置不同的值到故事板中的约束(使用大小类或其他)?
如果不是 - 解决此类任务的最佳方法是什么?
更新
例如,我有徽标,每个(包括不同的 iphone)平台上徽标的顶部偏移量不同(甚至以点为单位)。
我想避免这样的代码
- (CGFloat)topLogoConstraintAccordingToSize:(CGSize)size {
CGFloat top = 0;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
if (size.height > size.width){
top = 56;
} else {
top = 35;
}
} else {
if (IS_IPHONE_4){
top = 36;
} else if (IS_IPHONE_5){
top = 22;
} else if (IS_IPHONE_6){
top = 50;
} else if (IS_IPHONE_6_PLUS){
top = 56;
}
}
return top;
}
//宇宙的其他地方
self.logoTopConstraint.constant = [self topLogoConstraintAccordingToSize:size];
我也不想为每个平台创建单独的故事板——这更糟。
【问题讨论】:
-
除了这两个建议的解决方案之外,也许您可以创建带有偏移量的徽标(几张不同的图片)并通过代码分配带有设备名称的徽标(如果您问我,这很难看) .第四种解决方案可能是:不可能。
标签: ios iphone xcode storyboard size-classes