layoutSubviews详解 今天在layoutSubviews函数里面 获取 cell 的frame 打印的宽度竟然是600,cell 是纯代码写的,当时就懵逼了,怎么回事,我没用autolayout呀,按照苹果官方文档里面说明的layoutSubViews里面获取的是真实的frame,难道文档有错误,我想应该不会,经过一番调试发现 原因为:
我在ViewController 里面用了XIb 并且使用了autolayout,tableview 是 addSubview 到 ViewController 的view上去的,也就是说 tableview 的autolayout属性影响到了里面的cell 的frame,果断的调用下面的代码:
_tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
让其子控件的使用autoresizing就可以了。
- (void)viewWillLayoutSubviews和
- (void)layoutSubviews{