我对自动布局很新。我有一个简单的UIViewController,它包含一个View和一个UIImageView。
在人像模式下,此图像为320x115像素,但我希望在旋转到风景时降低图像高度。
目前我对我的图片有以下限制。 -Height等于115px - 超级视图的跟踪空间 - 领导空间到superview -Top Space to supverview
当从纵向旋转到风景时,如何使我的UIView具有成比例的垂直尺寸?
感谢您的帮助,
塞巴斯蒂安。
答案 0 :(得分:2)
如果你想要相同的比例尺寸115到480(0.24),那么你使用constraintWithItem中的乘数参数:attribute:relatedBy:toItem:attribute:multiplier:constant:。
在下面的示例中,我将IBOutlet设置为IB(heightCon)中的高度约束,然后在代码中删除它并添加另一个基于self.view的高度的一部分(iv是我的图像出口)视图):
- (void)viewDidLoad {
[super viewDidLoad];
[self.iv removeConstraint:self.heightCon];
NSLayoutConstraint *newHeightCon = [NSLayoutConstraint constraintWithItem:self.iv attribute:NSLayoutAttributeHeight relatedBy:0 toItem:self.view attribute:NSLayoutAttributeHeight multiplier:.24 constant:0];
[self.view addConstraint:newHeightCon];
}