这个问题在你大量使用xib布局界面的时候肯定会有这个需求,就是你需要手写代码获取某些控件的frame来进行一些操作,但是获取到的frame却是在xib下未自动布局时的默认frame. 如何获取自动布局后的实际frame呢? 其实很简单~~~
在cell类中重写layoutSubviews 方法,记得调用父类的 [super layoutSubviews]方法。
- (void)layoutSubviews {
[super layoutSubviews];
// 这里可以提前获得autolayout完成后适配后的子控件的真实frame
self.imageView.layer.cornerRadius = self.imageView.frame.size.width / 2;
self.imageView.clipsToBounds = YES;
NSLog(@"%@", NSStringFromCGRect(self.imageView.frame));
}