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

我有一个从我的故事板连接到我的头文件的 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?如果是这样,我如何覆盖这些以更改图像视图的高度和宽度?

有没有更简单的方法可以仅从情节提要中做到这一点?

提前致谢。

【问题讨论】:

    标签: objective-c user-interface storyboard


    【解决方案1】:

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

    【讨论】:

      最近更新 更多