Ios “视图加载时更改约束常量”无效
我有Ios “视图加载时更改约束常量”无效,ios,uiimageview,autolayout,uipageviewcontroller,Ios,Uiimageview,Autolayout,Uipageviewcontroller,我有UIPageViewController,它包含简单的UIViewControllers。VC的视图在顶部包含一个UIImageView(aspect fit),在底部包含一个UITextView。 ImageView的布局约束包括: 固定宽度:具有VCs类的出口 固定高度:有通向VCs类的出口 中心X等于超级视图中心X 顶部等于超级视图顶部(+8) ImageView的布局约束包括: 顶部等于ImageView底部 底部等于超级视图边缘底部(+8) 宽度等于超级视图宽度(乘法器为0.
UIPageViewController
,它包含简单的UIViewController
s。VC的视图在顶部包含一个UIImageView
(aspect fit),在底部包含一个UITextView。
ImageView的布局约束包括:
- 固定宽度:具有VCs类的出口
- 固定高度:有通向VCs类的出口
- 中心X等于超级视图中心X
- 顶部等于超级视图顶部(+8)
- 顶部等于ImageView底部
- 底部等于超级视图边缘底部(+8)
- 宽度等于超级视图宽度(乘法器为0.8)
视图willlayoutsubviews
中设置它们,但没有更改
我做错了什么?尝试在ViewDidLayoutSubView中更新视图:
- (void) viewDidLayoutSubviews {
// setup your constraints here
}
希望这有帮助。在下面提供的块中编写更改约束代码
dispatch_async(dispatch_get_main_queue(), {
})
尝试将ImageView和textfield之间的垂直间距更改为灵活(>=0)。如果这不能解决问题,请添加:
[view setNeedsLayout];
[view layoutIfNeeded];
将imageview的大小调整为新图像的大小后。您是否在控制台中看到无法同时满足所有约束的警告?