IOS开发-使用autolatout后如何正确获取view的frame

假设自定义一个tableview cell,添加加了约束以后,该如何获取到约束更新后,正确的frame,只要重写layoutsubviews这个系统方法,代码如下:

- (void)layoutSubviews
{
    [super layoutSubviews];

    [self.contentView setNeedsLayout];
    [self.contentView layoutIfNeeded];

          NSLog(@"%@",NSStringFromCGRect(self.avatarView.frame));


    //NSLog(@"1111%@-%@",NSStringFromCGRect(self.avatarView.frame),NSStringFromCGRect(self.avatarView.bounds));
}

如果是在viewcontroller里面,想获取正确的frame,可以调用viewcontroller的系统方法:

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
}

你可能感兴趣的:(iOS开发)