iOS:使用AutoLayout调整UIImageView的大小

时间:2014-02-04 15:43:33

标签: ios uiimageview autolayout

我是AutoLayout的新手并且稍微挣扎了一下。我有一个UIImageView,它是UIView的一部分。当应用程序在 3.5英寸设备上运行时,我希望UIImageView根据屏幕大小的变化调整大小。

我不知道如何实现这一目标。从我到目前为止看到的,您只能设置视图的固定宽度和高度,是否可以使它们动态调整大小?换句话说,UIImageView如何根据超视图的高度调整大小?

4 个答案:

答案 0 :(得分:8)

  1. 在界面Biulder中选择您的ImageView。
  2. 按针按钮。
  3. 设置约束。
  4. 实施例 enter image description here

答案 1 :(得分:3)

此代码将根据其超视图的宽度和高度调整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];

答案 2 :(得分:1)

我也面临同样的问题。它可以帮助某人,

如果您在InterfaceBuilder或Storyboard中进行设计,只需将所有边缘固定到superview(即)前导空间,尾随空间,顶部空间和底部Spoace到UIView。 那是

答案 3 :(得分:-2)

选择imageView。现在去添加一个带有超视距底部间距的引脚。