Quiero hacer mi barra de navegación uno con esquinas redondeadas (la parte superior izquierda y derecha)objetivo c - UINavigationBar con esquinas redondeadas
me encontré con este código que haga que sucede:
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;
Pero tiene un problema, ahora que la barra nab no tiene el borde de la esquina, es transparente en miles de esquinas y puedo ver la vista detrás de ella.
No quiero que sea transparente Quiero poner algo de color negro allí.
¿Alguien sabe cómo hacer eso?
¿Por qué exactamente tiene OpenGL como una etiqueta? –