我是AutoLayout的新手并且稍微挣扎了一下。我有一个UIImageView
,它是UIView的一部分。当应用程序在 3.5英寸设备上运行时,我希望UIImageView根据屏幕大小的变化调整大小。
我不知道如何实现这一目标。从我到目前为止看到的,您只能设置视图的固定宽度和高度,是否可以使它们动态调整大小?换句话说,UIImageView
如何根据超视图的高度调整大小?
答案 0 :(得分:8)
实施例
答案 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。现在去添加一个带有超视距底部间距的引脚。