最近在升级新的xcode8后 编译旧工程,工程内头像会不显示,但在自带解析工具内看层次可以看到该头像。昨天排查以后似乎是因为roundedCorners & clipsToBounds造成的
例如:
-
(void)awakeFromNib {
[super awakeFromNib];self.testView.layer.cornerRadius = self.testView.frame.size.height * .5;
self.testView.layer.masksToBounds = YES;
}
任何使用圆角的UIView, UILabels and UIButtons都可能出现不显示问题。
解决方法:
只要在裁剪前先调用 [self layoutIfNeeded]; 即可修复
- (void)awakeFromNib {
[super awakeFromNib];
[self layoutIfNeeded];
self.testView.layer.cornerRadius = self.testView.frame.size.height * .5;
self.testView.layer.masksToBounds = YES;
}