如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?

Posted

技术标签:

【中文标题】如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?【英文标题】:How do I programmatically change the size a UIImageView that was created on storyboard with autolayout? 【发布时间】:2016-01-16 22:09:35 【问题描述】:

我有一个从我的故事板连接到我的头文件的 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】:

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

【讨论】:

以上是关于如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?的主要内容,如果未能解决你的问题,请参考以下文章

在情节提要中添加自动布局,然后以编程方式更新它

如何在标准 UITableViewCell 中以编程方式自动布局右侧的自定义 UIButton。

UIScrollView 不能使用情节提要垂直滚动(使用自动布局)?

快速以编程方式创建后如何在情节提要中链接 UIButton

如何拥有具有两种不同单元格类型的 UITableView 并以编程方式设置每个单元格布局,而不是通过情节提要?

UIButton 标题标签文本未使用情节提要或以编程方式更改