target c -UINavigationBar с закругленными углами

Я хочу сделать панель навигации с закругленными углами (вверху слева и справа)

Я нашел этот код, который позволяет это сделать:

CALayer *capa = [self.navigationController navigationBar].layer;
[capa setShadowColor: [[UIColor blackColor] CGColor]];
[capa setShadowOpacity:0.85f];
[capa setShadowOffset: CGSizeMake(0.0f, 1.5f)];
[capa setShadowRadius:2.0f];  
[capa setShouldRasterize:YES];


//Round
CGRect bounds = capa.bounds;
bounds.size.height += 10.0f;    //I'm reserving enough room for the shadow
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:bounds 
                                               byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight)
                                                     cornerRadii:CGSizeMake(10.0, 10.0)];

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

[capa addSublayer:maskLayer];
capa.mask = maskLayer;

Но у него есть одна проблема, теперь, когда панель nab не имеет углового края, она прозрачна в тысячах углов, и я могу видеть вид, который находится за ней.
Я не хочу, чтобы он был прозрачным, я хочу добавить туда немного черного цвета.
Кто-нибудь знает, как это сделать?

5
задан Eyal 20 April 2012 в 17:05
поделиться