车载导航ui界面修改器的界面怎么设置成这样的

5636人阅读
iOS开发技巧(5)
本篇是iOS开发技巧系列博客的第五篇,本篇主要和大家一起分享如何设置导航栏全透明效果。在实际开发中也经常会有这样的需求,比如iPhone版本的QQ音乐,其播放音乐界面的导航栏就是透明的,如下所示:
为简化操作,这里我们使用 storyboard 简单搭建界面,为视图控制器添加导航栏,并为其添加两个 item 属性(具体实现这里不再阐述),如下所示:
运行工程,效果如下:
接下来,在 ViewController.swift 文件中添加如下代码:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 1、设置视图背景颜色
self.view.backgroundColor = UIColor(white: 0.25, alpha: 1.0)
// 2、设置导航栏标题属性:设置标题颜色
self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()]
// 3、设置导航栏前景色:设置item指示色
self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
// 4、设置导航栏半透明
self.navigationController?.navigationBar.translucent = true
// 5、设置导航栏背景图片
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
// 6、设置导航栏阴影图片
self.navigationController?.navigationBar.shadowImage = UIImage()
现在导航栏全透明效果已经实现了,为了看起来效果更佳,我们还需要修改下状态栏的样式,大家可参考 ,此处不再阐述。运行工程,我们即可看到如下效果了:
1、如果在导航栏全透明效果下,你需要导航栏的分界线,你可以不设置导航栏的shadowImage属性,即上述代码中的第6步可不要。
2、通过同样的方法,我们也可以设置标签栏的全透明效果。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:137540次
积分:2354
积分:2354
排名:第12401名
原创:85篇
评论:29条
(6)(1)(2)(2)(7)(1)(7)(3)(12)(18)(31)iOS 如何设置一整张图片作为背景图片(穿透导航栏) - 简书
<div class="fixed-btn note-fixed-download" data-toggle="popover" data-placement="left" data-html="true" data-trigger="hover" data-content=''>
写了12828字,被329人关注,获得了539个喜欢
iOS 如何设置一整张图片作为背景图片(穿透导航栏)
WeChat_.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);
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
如果你是程序员,或者有一颗喜欢写程序的心,喜欢分享技术干货、项目经验、程序员日常囧事等等,欢迎投稿《程序员》专题。
专题主编:小...
· 248040人关注
学习从点滴开始 !
(PS: 拒绝部分投稿的文章仅仅是由于专题内已收录相关知识点的文章, 并非是投稿的文章技术含量不够好, 望谅解.)
· 5988人关注
纪录开发的点点滴滴,相互学习,共同进步~
专题内容主要包括Object-C、Swift等开发技巧以及学习过程的内容
· 2264人关注
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:}

我要回帖

更多关于 车载导航安卓ui界面 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信