iOS_NavigationBar全透明

来源:互联网 发布:jpz45加强后数据 编辑:程序博客网 时间:2024/05/03 10:35

先上效果图:

1.首先需要一张纯透明的png图片设置为navigationBar的背景

    [self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"未标题-1.png"]forBarMetrics:UIBarMetricsDefault];



2.执行完上面那行代码后发现navigationBar设置为透明了,但是在Bar的下方会有一条“线”。就是下图的样子。


想要实现彻底的透明需要再加几行代码:

//方案一:

if ([self.navigationController.navigationBarrespondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){

        NSArray *list =self.navigationController.navigationBar.subviews;

       for (id objin list) {

           if ([obj isKindOfClass:[UIImageViewclass]]) {

               UIImageView *imageView = (UIImageView *)obj;

               NSArray *list2 = imageView.subviews;

               for (id obj2in list2) {

                   if ([obj2 isKindOfClass:[UIImageViewclass]]) {

                       UIImageView *imageView2 = (UIImageView *)obj2;

                        imageView2.hidden =YES;

                    }

                }

            }

        }

    }


//方案二:

[self.navigationController.navigationBarsetShadowImage:[UIImagenew]];


如有疑问,欢迎留言~

0 0
原创粉丝点击