为了账号安全,请及时绑定邮箱和手机立即绑定

使UINavigationBar透明

使UINavigationBar透明

iOS
米琪卡哇伊 2019-10-04 16:00:44
如何使UINavigationBar透明?尽管我希望其栏项目保持可见。
查看完整描述

3 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

如果有人想知道如何在iOS 7+中实现此目标,请使用以下解决方案(也兼容iOS 6)


在Objective-C中


[self.navigationBar setBackgroundImage:[UIImage new]

                         forBarMetrics:UIBarMetricsDefault];

self.navigationBar.shadowImage = [UIImage new];

self.navigationBar.translucent = YES;

在Swift 3(iOS 10)中


self.navigationBar.setBackgroundImage(UIImage(), for: .default)

self.navigationBar.shadowImage = UIImage()

self.navigationBar.isTranslucent = true

迅速2


self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)

self.navigationBar.shadowImage = UIImage()

self.navigationBar.translucent = true

讨论区

由于文档中讨论的行为,在导航栏上设置translucent为可以YES解决问题UINavigationBar。我将在这里报告相关片段:


如果将此属性设置为YES带有不透明自定义背景图像的导航栏,则导航栏将对图像应用小于1.0的系统不透明度。


查看完整回答
反对 回复 2019-10-04
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

在iOS5中,您可以执行以下操作以使导航栏透明:


nav.navigationBar.translucent = YES; // Setting this slides the view up, underneath the nav bar (otherwise it'll appear black)

const float colorMask[6] = {222, 255, 222, 255, 222, 255};

UIImage *img = [[UIImage alloc] init];

UIImage *maskedImage = [UIImage imageWithCGImage: CGImageCreateWithMaskingColors(img.CGImage, colorMask)];


[nav.navigationBar setBackgroundImage:maskedImage forBarMetrics:UIBarMetricsDefault]; 

[img release];


查看完整回答
反对 回复 2019-10-04
?
忽然笑

TA贡献1806条经验 获得超5个赞

对于任何想要在Swift 2.x中执行此操作的人:


self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)

self.navigationController?.navigationBar.shadowImage = UIImage()

self.navigationController?.navigationBar.translucent = true

或Swift 3.x:


self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)

self.navigationController?.navigationBar.shadowImage = UIImage()

self.navigationController?.navigationBar.isTranslucent = true


查看完整回答
反对 回复 2019-10-04
  • 3 回答
  • 0 关注
  • 905 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信