UIView округлые углы

Мне нужно округлить только верхние углы UIView . Я пытаюсь использовать следующий код:

UIBezierPath *maskEmailPath = [UIBezierPath bezierPathWithRoundedRect:self.emailandAccessView.bounds byRoundingCorners:UIRectCornerBottomLeft cornerRadii:CGSizeMake(10.0, 10.0)];
CAShapeLayer *maskEmailLayer = [CAShapeLayer layer];
maskEmailLayer.frame = self.myview.bounds;
maskEmailLayer.path = maskEmailPath.CGPath;
self.myview.layer.mask = maskEmailLayer;

но он скрывает все в этой точке зрения. Кто-нибудь может мне помочь, пожалуйста.

2
добавлено отредактировано
Просмотры: 1
добавлено автор Daij-Djan, источник
попробуйте не устанавливать рамки слоя маски как границы вашего вида
добавлено автор wattson12, источник

1 ответы

Так вы это делаете.

  CALayer *capa = self.view.layer;
  CGRect bounds = capa.bounds;
  UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:bounds
                                                 byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight)
                                                       cornerRadii:CGSizeMake(5.0, 5.0)];

  CAShapeLayer *maskLayer = [CAShapeLayer layer];
  maskLayer.frame = bounds;
  maskLayer.path = maskPath.CGPath;

  [capa addSublayer:maskLayer];
  capa.mask = maskLayer;
1
добавлено