用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里面的内容;