博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 如何设置一整张图片作为背景图片(穿透导航栏)
阅读量:3756 次
发布时间:2019-05-22

本文共 1558 字,大约阅读时间需要 5 分钟。

WeChat_1460024275.jpeg

如图所示,这个界面的背景是一张偏黑色的背景图片。有意思的是,这张图片作为背景,严丝合缝的穿透了导航栏,以及导航栏下面的控制器,使整个页面看起来更加像一个整体。

兄弟们,项目里面很有可能会遇到这种需求,比如说我。废话不多说,如何实现这种效果呢

ps:以前看过我上一篇简书里面提到的抽取出来的一个公共类WXNavigationController,下面的代码就加在这个公共类中即可

下面代码的是将导航栏self.navigationBar变透明,这里变透明是将self.navigationBar设置一张透明的背景图片,这样当你设置导航栏下的背景图片的时候,背景图片不会被覆盖掉

- (void)viewWillAppear:(BOOL)animated{    [super viewWillAppear:animated];    [self.navigationBar setBackgroundImage:[UIImage imageNamed:@"bigShadow"] forBarMetrics:UIBarMetricsCompact];    //compact:及时更新背景样式,让导航条彻底透明,不显示底部那条线。 maskToBounds:不让透明图片影响状态栏    self.navigationBar.layer.masksToBounds = YES;}

抽取公告类的好处是,只用在这个地方设置一下背景图片就OK了,这样所有的页面都会变成同一个背景图片

#pragma mark -推出另外一个控制器的逻辑控制- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {    //设置所有界面的背景图片    UIImageView * backImageView = [UIImageView ff_imageViewWithImageName:@"Rectangle 363"];    [viewController.view insertSubview:backImageView atIndex:0];    [backImageView mas_makeConstraints:^(MASConstraintMaker *make) {        make.edges.equalTo(viewController.view);    }];    if (self.childViewControllers.count > 0) {        // 设置返回按钮        viewController.navigationItem.leftBarButtonItem = [UIBarButtonItem ff_barButtonWithTitle:@"" imageName:@"Chevron" target:self action:@selector(goBack)];    }    [super pushViewController:viewController animated:animated];}
注意:
  • 这里的self.navigationBar设置透明后,你的控制器的约束就会以最顶部开始计算,而不是从导航栏开始计算
  • 设置所有界面的背景图片全部为clearcolor
  • 当有个别界面导航栏是黑色的,你可以采用下面的方法,将tableview的contentoffset设置一下
self.tableView.contentOffset = CGPointMake(0, 64);

转载地址:http://sltsn.baihongyu.com/

你可能感兴趣的文章
String 类
查看>>
什么是接口
查看>>
Java高级篇之进程
查看>>
类加载机制
查看>>
了解jdk1.8版本一些新的特性
查看>>
Java高级篇之网络通讯
查看>>
浅谈篇之线程池
查看>>
Lambda 表达式
查看>>
字符串函数MySQL
查看>>
8个SQL讲解优化
查看>>
MySQL实战续(二)
查看>>
安装Elastic和kibana
查看>>
什么是搜索
查看>>
全文检索工具elasticsearch
查看>>
Vue之条件渲染实战
查看>>
Vue之侦听属性
查看>>
求职指南(1)
查看>>
MySQL day11
查看>>
MySQL day12
查看>>
JSONP原理
查看>>