CAShapeLayer を使用してマスクを作成し、左上/右上に丸い角を付けてから、 に適用しましnavigationController
たnavigationBar
。
それは魅力のように機能しますが、ナビゲーション バーのボタンを使用できないことに気付きました!
これが私が使用するコードです(でviewDidLoad
):
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.navigationController.navigationBar.bounds
byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight
cornerRadii:CGSizeMake(6.0, 6.0)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = self.navigationController.navigationBar.bounds;
maskLayer.path = maskPath.CGPath;
self.navigationController.navigationBar.layer.mask = maskLayer;