gpt4 book ai didi

objective-c - objective-c - 带圆角的 UINavigationBar

转载 作者:太空狗 更新时间:2023-10-30 03:52:05 25 4
gpt4 key购买 nike

我想让我的导航栏有圆角(左上角和右上角)

我找到了实现它的代码:

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 bar 没有角边,它在千个角上是透明的,我可以看到它后面的 View 。
我不希望它是透明的,我想在那里放一些黑色。
有人知道怎么做吗?

最佳答案

假设这是一个顶级导航 Controller ,像这样的东西应该适合你:

self.window.backgroundColor = [UIColor blackColor];

只需将其粘贴到您的 application:didFinishLaunchingWithOptions:

否则,只需使用带黑角的导航栏图像:

enter image description here

关于objective-c - objective-c - 带圆角的 UINavigationBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com