我使用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;
在设置层掩码后,您需要以编程方式设置按钮。