关于使用autolayout约束的界面添加子界面frame改变的问题

用storyboard约束一个界面,如tableview,在viewdidload方法里面打印该tableview的frame会发现并不是自己预期的一样,而在tableview添加子view的时候,子view的布局也会跟着改变。

原因:在viewdidload加载完成之前,autolayout约束的界面frame布局并没有完成,这个frame值都是以origin(0,0)开始

解决办法:在viewdidload异步调用主线程:dispatch_async(dispatch_get_main_queue(),^{

这个地方给tableview添加子view

});

这样添加的界面就会正常;

因为这样会在viewdidload方法调用完之后才会调用该block里面的内容;



你可能感兴趣的:(关于使用autolayout约束的界面添加子界面frame改变的问题)