iOS 10 GM与xcode 8 GM导致视图因roundedCorners和clipsToBounds而消失

Pra*_*y C 38 objective-c ios ios10

我用iOS 10 Beta 7和Xcode 8 beta测试了我的应用程序,一切正常.然而就在几分钟前,我安装了现在可用的两种GM版本,并遇到了一个奇怪的问题.

我在我的应用程序和我正在使用的自定义单元格中使用自定义表格视图单元格cornerRadiusclipsToBounds创建圆形视图.

- (void)awakeFromNib {
    [super awakeFromNib];
    self.tag2label.layer.cornerRadius=self.tag2label.frame.size.height/2;
    self.tag2label.clipsToBounds=YES;
}
Run Code Online (Sandbox Code Playgroud)

这看起来还不错,然而在新的GM版本中,所有圆角的视图都消失了.这发生了UIView,UILabelsUIButtons.

我在下面解决了这个

Pra*_*y C 75

我不确定这是否是一项新要求,但我[self layoutIfNeeded];在做任何cornerRadius事情之前通过添加来解决这个问题.所以我的新自定义awakeFromNib如下所示:

- (void)awakeFromNib {
    [super awakeFromNib];
    [self layoutIfNeeded];
    self.tag2label.layer.cornerRadius=self.tag2label.frame.size.height/2;
    self.tag2label.clipsToBounds=YES;
}
Run Code Online (Sandbox Code Playgroud)

现在他们都显得很好.

  • 对于那些不想强制布局的人,可以将它放在`layoutSubviews`或`viewDidLayoutSubviews`块上. (4认同)