1

我对自动布局很陌生。我有一个简单的 UIViewController,它包含一个视图和一个 UIImageView。

在纵向模式下,此图像为 320x115 像素,但我想在旋转到横向时降低图像高度。

目前我对我的形象有以下限制。- 高度等于 115px - 到 superview 的尾随空间 - 到 superview 的前导空间 - 到 supverview 的顶部空间

从纵向旋转到横向时,如何使我的 UIView 具有成比例的垂直大小?

谢谢你的帮助,

塞巴斯蒂安。

4

1 回答 1

2

如果您想要与 115 与 480 (0.24) 相同的比例大小,则使用 constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant: 中的 multiplier 参数。

在下面的示例中,我为 IB (heightCon) 中的高度约束创建了一个 IBOutlet,然后在代码中删除它并添加另一个基于 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];
}
于 2013-07-08T03:51:49.560 回答