【问题标题】:iOS: Resizing UIImageView with AutoLayoutiOS:使用 AutoLayout 调整 UIImageView 的大小
【发布时间】:2014-02-04 15:43:32
【问题描述】:
我是 AutoLayout 的新手,并且有点挣扎。我有一个UIImageView,它是 UIView 的一部分。当应用在 3.5 英寸 设备上运行时,我希望 UIImageView 根据屏幕大小的变化调整大小。
我不确定如何实现这一点。从我目前所见,您只能设置视图的固定宽度和高度,是否可以使它们动态调整大小?换句话说,UIImageView 如何根据超级视图的高度调整大小?
【问题讨论】:
标签:
ios
uiimageview
autolayout
【解决方案1】:
- 在 Interface Biulder 中选择您的 ImageView。
- 按下别针按钮。
- 设置约束。
示例
【解决方案2】:
此代码将根据其父视图的宽度和高度调整UIImageView 的大小。
UIImageView *myImageView = [[UIImageView alloc] initWithImage:theImage];
[self.view addSubview:myImageView];
[myImageView setTranslatesAutoresizingMaskIntoConstraints:NO];
NSArray *imageViewConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[myImageView]|" options:0 metrics:nil views:@{@"myImageView": myImageView}];
[self.view addConstraints:imageViewConstraints];
imageViewConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[myImageView]|" options:0 metrics:nil views:@{@"myImageView": myImageView}];
[self.view addConstraints:imageViewConstraints];
【解决方案3】:
我也遇到了同样的问题。它可能对某人有帮助,
如果您在 InterfaceBuilder 或 Storyboard 中进行设计,只需将所有边缘固定到超级视图(即)前导空间、尾随空间、顶部空间和底部空间到 UIView。
就是这样
【解决方案4】:
选择图像视图。现在去添加一个与超级视图底部间距的图钉。