我的UIPageViewController
包含简单的UIViewController
。 VC的视图在顶部包含UIImageView
(纵横拟合),在底部包含UITextView。
ImageView的LayoutConstraints是:
ImageView的LayoutConstraints是:
这可以按预期工作。
但是当加载VC并显示图像时,我想改变imageView的大小。有最小和最大尺寸,如果图像视图更小或更大,则需要调整大小。否则,imageview必须获得图像的大小。
因此,我计算实际图像的大小,并为两个LayoutConstraints设置常量。值是正确的但ImageView不会更改。
我尝试在viewWillLayoutSubviews
中设置它们但没有变化。
我做错了什么?
答案 0 :(得分:2)
尝试在viewDidLayoutSubviews中更新您的观点:
- (void) viewDidLayoutSubviews {
// setup your constraints here
}
希望这有帮助。
答案 1 :(得分:0)
在下面提供的块中写下您的更改约束代码
dispatch_async(dispatch_get_main_queue(), {
})
答案 2 :(得分:0)
尝试将ImageView和文本字段之间的垂直间距更改为灵活(> = 0)。如果这还没有解决问题,请添加:
[view setNeedsLayout];
[view layoutIfNeeded];
将imageview的大小调整为新图像的大小。