我可以通过为 4.7 (iPhone 6) 和 (iPhone 6 plus) 使用自动布局和 Storyboard来实现特定的和不同的约束吗
例如,我希望图标有 50 像素用于 4"、60 像素用于 4.7"和 66 用于 5.5"iphone。?
最佳答案
您好,您有两种方法:
将图标的宽度与屏幕的宽度相关联。实际上,如果您希望当屏幕为 4'' 时图标的宽度为
50px
,那么320px
,乘数为50.0/320.0 = 0.15625
:NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:iconImageView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view attribute:attribute:NSLayoutAttributeWidth multiplier:0.15625 constant:0]; [self.view addConstraint:constraint];
显然还在
iconImageView
上设置了约束proportional width/height
。 按照这个比例,iPhone 6+ 上的图标宽度(以及高度)将产生414*0.15625 = 64.6875
;第二种方法是将
IBOutlet
设置为iconImageView
的固定宽度约束,并将其从检查屏幕宽度的代码中更改:if ([UIScreen mainScreen].bounds.size.width == 320.0) { myConstraintsWidth.constant = 50.0; } .... and so on
这里显然也在
iconImageView
上设置了约束proportional width/height
。
IMO 我非常喜欢第一个选项。它很干净,效果很好。
干杯!
关于ios - 我可以为 4.7 和 5.5 设置特定的自动布局约束吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28106514/