如何准确获取xib创建的autolayout布局下的view的真实frame

这个问题在你大量使用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));

}

你可能感兴趣的:(IOS)