Esquinas networkingondeadas de UIView con autolayout que recorta la vista

Estoy creando la aplicación IOS con habilitar la reproducción automática. En mi aplicación para ver las vistas hay esquinas networkingondeadas (solo en las esquinas superiores). Estoy usando la siguiente function:

- (void)setMaskTo:(UIView*)view byRoundingCorners:(UIRectCorner)corners { UIBezierPath *rounded = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:corners cornerRadii:CGSizeMake(5.0, 5.0)]; CAShapeLayer *shape = [[CAShapeLayer alloc] init]; [shape setPath:rounded.CGPath]; view.layer.mask = shape; } 

y llamando a esta function en viewDidAppear como:

 -(void)viewDidAppear:(BOOL)animated { [self setMaskTo:contentView byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight]; } 

Esto funciona bien, pero el problema es cuando la aplicación está en modo horizontal y cuando navego de una vista a otra, recorta la vista como la vista de retrato. Por favor, avíseme, ¿hay algún problema con este enfoque?

Autolayout no volverá a calcular su máscara, por lo que deberá configurar la máscara cada vez que cambie su layout. Mover setMaskTo: byRoundingCorners: from viewDidAppear: para verDidLayoutSubviews:

 - (void)viewDidLayoutSubviews{ [super viewDidLayoutSubviews]; [self setMaskTo:contentView byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight]; }