Xcode8 中使用了新的IB布局,升级到Xcode8后首次打开一个原有的xib、storyboard文件,将会出现这样的提示:
选择一个默认尺寸来显示布局,这个尺寸可以在IB下方进行修改,十分方便。
这本是一个很好的功能,可是!!!!!!!!!当你将IB改用新版后,在界面未展示前,所有的view的布局都是1000*1000的!!!!!十分的坑人,十分的隐蔽!
其实之前也会有这问题,之前storyboard中如果控制器的size设置为600x600,那么取出来的self.view也将是600x600。但是原来如果view设置了宽高约束,那么取宽高的值将会是正常的值。新版中不管有没有宽高约束,全部是1000x1000。
例如:在viewDidLoad中使用view的frame取到的size是 1000x1000!
在tableView:cellForItemAtIndexPath:中 cell的子view size全部是1000x1000的!
下面是解决办法: