大神们请问一下ios 导航栏底部黑线这个黑线怎么去掉呀

博客分类:
关键方法。
if ([UINavigationBar instancesRespondToSelector:@selector(setShadowImage:)])
[[UINavigationBar appearance] setShadowImage:[UIImage imageWithColor:[UIColor clearColor] size:CGSizeMake(320, 3)]];
还有uiimage的一个类目方法。
下面是全部的代码。。。。
- (void)viewWillAppear:(BOOL)animated
[super viewWillAppear:animated];
Navbar *bar = (Navbar *)self.navigationController.navigationBar;
//关键是这几句。。。。。
[bar setTranslucent:NO];
if (IS_IOS_7) {
[bar setTintColor:k_nav_bgColor];
[bar setBarTintColor:k_nav_bgColor];
///用上面的两句话也挺好,但是会用下面的一条黑线。。。。。
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"aaaaa.png"] forBarMetrics:UIBarMetricsDefault];
[bar setBackgroundImage:kImageNamed(@"bg_nav.png") forBarMetrics:UIBarMetricsDefault];
[bar.layer setMasksToBounds:YES];
[UIApplicationsharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
[self followScrollView:self.view];
//是否隐藏导航栏用的 。这个目前不能用,里面有代码
if ([UINavigationBar instancesRespondToSelector:@selector(setShadowImage:)])
[[UINavigationBarappearance] setShadowImage:[UIImageimageWithColor:[UIColorclearColor] size:CGSizeMake(320, 3)]];
给UIImage添加的类别
+ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size
@autoreleasepool {
CGRect rect = CGRectMake(0, 0, size.width, size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context,
color.CGColor);
CGContextFillRect(context, rect);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
浏览 16453
浏览: 1020707 次
来自: 开封
macd2666 写道录制出来的语音声音好轻啊。你好,这个编译 ...
macd2666 写道录制出来的语音声音好轻啊。
linker command failed with exit ...
/?page ...
录制出来的语音声音好轻啊。
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。iOS 去掉导航栏下面黑线 —— HERO博客 - CSDN博客
iOS 去掉导航栏下面黑线 —— HERO博客
去掉导航栏self.navigationController.navigationBar下默认黑线。
方法一:(会影响导航栏的translucent透明属性)
//视图将要显示时隐藏
-(void)viewWillAppear:(BOOL)animated
[super viewWillAppear:animated];
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
//视图将要消失时取消隐藏
-(void)viewWillDisappear:(BOOL)animated
[super viewWillDisappear:animated];
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:nil];
@property (nonatomic, weak) UIImageView *lineV
//视图加载完成获取到导航栏最下面的黑线
- (void)viewDidLoad {
[super viewDidLoad];
//获取导航栏下面黑线
_lineView = [self getLineViewInNavigationBar:self.navigationController.navigationBar];
//视图将要显示时隐藏
- (void)viewWillAppear:(BOOL)animated
[super viewWillAppear:animated];
_lineView.hidden = YES;
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
//视图将要消失时取消隐藏
- (void)viewWillDisappear:(BOOL)animated
[super viewWillDisappear:animated];
_lineView.hidden = NO;
self.navigationController.navigationBar.translucent = NO;
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
//找到导航栏最下面黑线视图
- (UIImageView *)getLineViewInNavigationBar:(UIView *)view
if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height &= 1.0) {
return (UIImageView *)
for (UIView *subview in view.subviews) {
UIImageView *imageView = [self getLineViewInNavigationBar:subview];
if (imageView) {
return imageV
本文已收录于以下专栏:
相关文章推荐
ios开发大部分情况下会使用到导航栏,由于我司的app导航栏需要与下面紧挨着的窗口颜色一致,导航栏底部的横线就会影响这个美观,LZ使用了以下方法。觉得不错,分享来给小伙伴们。1)声明UIImageVi...
下图是要最终实现的效果:
但是,开始时会出现下图中箭头指向的横线效果:
这是导航栏的问题,将下边的代码放在
viewWillAppear
方法中就可以实现效果:
一句话隐藏导航栏下的黑线
在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是push到下一个页面的时候是需要导航栏的...
设置完导航栏的背景颜色和View的背景颜色后,发现在UINavigationBar底部有一条黑线。
苹果官方给出的解释:
如果你不调用方法设置一张背景图片的话,那就给你默认一张,然后同...
NavigationBar 下面的横线是怎么来的? 如何去除?方法一(粗暴)这篇通过寻找出width小于1xp的view的方式,找出此横线,并在ViewWillDidLoad 等方法里隐藏之这里是具体...
去除navigationBar下方黑线// 去掉navigationBar下方的黑线
[self.navigationBar setBackgroundImage:[UIImage new] ...
先看效果图
小弟刚开始直接用navigationBar加载这张背景图
appDelgate里:
Objective C code
默认情况下会有这条线
第一种方法:UINavigationBar *navigationBar = self.navigationController.navigationB
if (kIsIOS7OrLater) {
// Close this to make normal
self.automaticallyAdjustsScrollViewInsets...
他的最新文章
讲师:王禹华
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)去掉导航栏下面的黑线 - 简书
去掉导航栏下面的黑线
有的时候我们需要在个人中心这样的界面直接设置上面的一个相同颜色块(通常是导航栏的背景颜色),当然这个也可以通过先隐藏导航栏然后再添加想要的背景块视图,但是这样会带来界面切换的视觉差,体验不好,而且有的时候我们还需要标题和导航栏两边的辅助操作按钮,这样来看,最好的方式就是通过去掉导航栏下面的线,然后再在下面添加背景颜色和导航栏背景颜色一样的视图来达到这个效果,下面的方法就是如何去掉和恢复导航栏下面的黑线。1、一进入视图就去掉黑线这个我们可以在viewWillAppear方法里面实现,代码如下,//[QuickCreatTreasureBox imageWithColor:kTopBarBgColor size:CGSizeMake(kMainWidth, 64),这个方法是封装的根据颜色来生成指定图片的方法,上一个文章里面有类似的实现方式。- (void)viewWillAppear:(BOOL)animated{[super viewWillAppear:YES];[self.navigationController.navigationBar setBackgroundImage:[QuickCreatTreasureBox imageWithColor:kTopBarBgColor size:CGSizeMake(kMainWidth, 64)] forBarMetrics:UIBarMetricsDefault];[self.navigationController.navigationBar setShadowImage:[UIImage new]];}2、离开界面的时候恢复黑线这个我们可以在viewWillAppear方法里面实现,代码如下,- (void)viewWillDisappear:(BOOL)animated{[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];[self.navigationController.navigationBar setShadowImage:nil];[super
viewWillDisappear:YES];}
不知不觉做iOS开发已经快6个年头了,之前感觉写博客太费时间,就一直没有写,把大部分时间放在了做项目和对新技术的预研上了,之前也有朋友建议我开个博客,分享一下技术心得,今天突然感觉是改写点记录了,可是一开始要写竟不知道从何写起,最后决定先从一些技术技巧入手吧,后续抽时间再慢慢添加,丰富,多写些实用性的技术干货,敬请等候啊!

我要回帖

更多关于 ios 隐藏导航栏黑线 的文章

 

随机推荐