去掉navigationBar下的横线,以及产生的影响

需要两行代码:

//消除阴影,必须setBackgroundImage:forBarMetrics:才能让shadowImage生效
//同时会导致self.view的y变成64
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:HexColor(0x18A4B3, 1) size:CGSizeMake(1, 1)] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
原来那个横线不是普通的UIView,是个阴影效果,这真是史上最不像阴影的阴影...

UIBarMetricsDefault时,只要图片高度不为44就会扩展到状态栏,比如我生成的只有1像素的图片就是这样
需要注意的是UIBarMetricsDefault会导致self.view变成64,所以不要惊慌为什么布局突然莫名其妙有点乱

然后UIBarMetricsCompact UIBarMetricsDefaultPrompt UIBarMetricsCompactPrompt这三个我都试了下结果都是没有64的影响,但都是半透明白色,并且扩展到了状态栏,后来弄明白了, Compact是为横屏状态设置, Prompt是title上边有行字,当然这行字得自己设置:

self.navigationItem.prompt = @"我是prompt";
结果就被变成这样: 


嗯,这么奇怪的东西,真是不知道谁会用到这个...

有人明白的话麻烦在评论里告诉我一下大笑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值