如何以编程方式更改使用autolayout在故事板上创建的UIImageView的大小?

时间:2016-01-16 22:09:35

标签: objective-c user-interface storyboard

我有一个UIImageView的插座,从我的故事板连接到我的头文件。我试图从我的实现文件以编程方式更改UIImageView的框架。我做了以下事情:

-(void)viewDidLoad{
    [super viewDidLoad];
        if (IS_IPHONE_5) {
            someImageView.frame = CGRectMake(someImageView.frame.origin.x, someImageView.frame.origin.y, someImageView.frame.size.width - 50, someImageView.frame.size.height - 50);
    }
}

无论我改变宽度和高度,它似乎都没有改变。难道我正在使用自动布局并且有限制连接到imageView吗?如果是这样,我如何覆盖这些以更改图像视图的高度和宽度?

是否有一种更简单的方法可以从故事板中做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:3)

您可能想要重新评估您在IB中设置的约束。确保您没有宽度或高度限制,而是有顶部/底部/前导/尾随约束。那么你可能不必以编程方式做任何事情。但是,如果必须以编程方式调整大小,请在故事板中创建对{约束}约束的IBOutlet引用,然后可以调整约束的constant属性。但是,如果您正在使用约束,请勿尝试更改frame