如何以编程方式更改使用自动布局在情节提要上创建的 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 不能使用情节提要垂直滚动(使用自动布局)?