Панель навигации перестает работать после применения маски слоя - PullRequest
0 голосов
/ 02 марта 2012

Я использовал 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;

1 Ответ

0 голосов
/ 02 марта 2012

Вам нужно будет установить кнопки программно после установки маски слоя.

...