9设置导航栏 ios

2016-03-08 00:30:44 Hierarch_Lee 阅读数 25030

前言

本篇是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()
    }
}

现在导航栏全透明效果已经实现了,为了看起来效果更佳,我们还需要修改下状态栏的样式,大家可参考 这篇博客,此处不再阐述。运行工程,我们即可看到如下效果了:

这里写图片描述

Tips

1、如果在导航栏全透明效果下,你需要导航栏的分界线,你可以不设置导航栏的shadowImage属性,即上述代码中的第6步可不要。

2、通过同样的方法,我们也可以设置标签栏的全透明效果。

2017-10-17 16:46:01 helloworld183 阅读数 571

自定义iOS7导航栏背景颜色以及返回按钮的设置

  • |
  • 浏览:980
  • |
  • 更新:2016-02-23 18:16

在iOS7.0下,导航栏的背景颜色是这样的,下面我们开始自定义设置

1.设置导航栏文字以及背景颜色

设置导航栏标题

self.title = @"测试"; 

设置导航栏背景颜色

self.navigationController.navigationBar.barTintColor = [UIColor greenColor];

2.在iOS7以后,设置标题会默认为黑色,当我们导航栏背景颜色设置为深色时会影响用户的视觉效果,那么如何修改呢?

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : WhiteColor};navigationController中可以通过设置标题的字体样式来改变标题字体颜色

3.下面研究下如何自定义返回按钮,默认的返回按钮是这样的

默认的返回按钮文字是上一个页面的标题,那么我们怎么能自定义标题或者是没有标题呢?

改变返回按钮文字,这里设置为空

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

改变返回按钮颜色

self.navigationController.navigationBar.tintColor = [UIColor whiteColor];

效果如下:

2015-08-22 14:16:42 jijiji000111 阅读数 29553

文章来源:http://www.aichengxu.com/view/42504

iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参考下。


在平时开发项目的时候,难免会遇到修改导航栏字体大小和颜色的需求,一般使用自定义视图的方法,其实还存在一种方法。

方法一:(自定义视图的方法,一般人也会采用这样的方式)

就是在导航向上添加一个titleView,可以使用一个label,再设置label的背景颜色透明,字体什么的设置就很简单了。

//自定义标题视图

UILabel *titleLabel = [[UILabel allocinitWithFrame:CGRectMake(0020044)];

titleLabel.backgroundColor = [UIColor grayColor];

titleLabel.font = [UIFont boldSystemFontOfSize:20];

titleLabel.textColor = [UIColor greenColor];

titleLabel.textAlignment = NSTextAlignmentCenter;

titleLabel.text = @"新闻";

self.navigationItem.titleView = titleLabel;


方法二:(在默认显示的标题中直接修改文件的大小和颜色也是可以的)

[self.navigationController.navigationBar setTitleTextAttributes:

@{NSFontAttributeName:[UIFont systemFontOfSize:19],

NSForegroundColorAttributeName:[UIColor redColor]}];

方式二相对于方式一而言更加简单方便

2017-07-10 14:05:23 qq_33646463 阅读数 921

    //设置返回按钮颜色

    self.navigationController.navigationBar.tintColor = [UIColor whiteColor];

    //设置导航条背景颜色

    self.navigationController.navigationBar.barTintColor = ThemeColor;

    //设置导航栏标题背景颜色及字体

    [self.navigationController.navigationBar setTitleTextAttributes:

     @{NSFontAttributeName:[UIFont systemFontOfSize:16 * ScalW],

       NSForegroundColorAttributeName:[UIColor whiteColor]}];

2018-04-09 13:48:12 kiss20 阅读数 2906
//设置导航栏背景图片为一个空的image,这样就透明了
- (void)viewWillAppear:(BOOL)animated{    
    [self.navigationController.navigationBar setBackgroundImage:[[UIImagealloc] init] forBarMetrics:UIBarMetricsDefault];
//去掉透明后导航栏下边的黑边
    [self.navigationController.navigationBar setShadowImage:[[UIImagealloc] init]]; 
 }

// 如果不想让其他页面的导航栏变为透明 需要重置
- (void)viewWillDisappear:(BOOL)animated{
    [self.navigationController.navigationBar setBackgroundImage:nilforBarMetrics:UIBarMetricsDefault];     [self.navigationController.navigationBar setShadowImage:nil]; 
 }