navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转

翻译 2016年04月09日 15:17:32

(1)navigationBar导航条可以看做是self.navigationController导航控制器的一个属性,可以直接用点来表示self.navigationController.navigationBar,当然navigationBar自己还有很多属性,比如样式barStyle、背景backgroundColor、frame属性(可以获取宽高这些信息),还可以用setBackgroundImage方法设置背景图片,当然图片多了可以使用clipsToBounds剪裁。

(2)但,navigationBar是否隐藏和显示这个需要它爸也就是self.navigationController来控制,有直接.navigationBarHidden设置为YES/NO,也可以用方法setNavigationBarHidden,都能实现效果。

(3)另一个重要的知识是对navigationItem的设置,这个属性和navigationController是平级的,所以直接可以用self.navigationItem使用。当然可用的有设置导航条标题的方法setTitle,当然你也可以直接把文字换成一个视图,即所谓的标题视图放在导航条的中间,用得方法是setTitleView,很多游戏的导航条中间貌似是一个图片,可以用这个。

(4)最重要的可能是给navigationItem设置左右两边的按钮,一般默认的在左边有“返回”,在右边的有“摄像头”(如微信朋友圈)。步骤就是创建一个UIBarButtonItem对象,然后直接把这个对象赋值给self.navigationItem.leftBarButtonItem或者右边的。当然也可以一次创建很多个UIBarButtonItem组成一个数组,然后把这个数组赋值给self.navigationItem.leftBarButtonItems,注意后面这个和前面这个相比,多了一个“s”,有很多个。也要注意一下有多个按钮时的排列顺序。

(5)我们创建的这些导航条按钮有很多种形式,有的是由文字的,有的时图片,有的时系统自带的如摄像头或者Reply这些icon,有的完全是自己定义的视图。我们当然也可以利用自己创建的导航条按钮来覆盖原来导航控制器产生的默认的按钮,如“

import “SecondViewController.h”

@interface SecondViewController ()

@end

@implementation SecondViewController

  • (void)viewDidLoad {
    UILabel *label1=[[UILabel alloc]init];
    label1.frame=CGRectMake(38, 80, 300, 30);
    label1.backgroundColor=[UIColor whiteColor];
    label1.text=@”This is secondviewcontroller”;
    [self.view addSubview:label1];

    UIButton *btn2=[UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn2.frame=CGRectMake(38, 120, 300, 30);
    [btn2 setTitle:@”backTo” forState:UIControlStateNormal];
    btn2.backgroundColor=[UIColor orangeColor];
    [self.view addSubview:btn2];
    [btn2 addTarget:self action:@selector(backTo) forControlEvents:UIControlEventTouchUpInside];

    //设置导航标题,这个时候的返回按钮的title就是上一级的navigationItem的title文字
    [self.navigationItem setTitle:@”子页”];

    //我们也可以在子页中自定义一个返回按钮覆盖原先的”

Android原理揭秘之NavigationBar、StatusBar

前言本人在集成weex时偶然遇到了问题,在魅族手机与华为手机上面UI显示存在问题,部分android手机可以,究其根本原因是因为有可恨的NavigationBar在其中作祟,这让我尴尬至极喽,必须将这...
  • walid1992
  • walid1992
  • 2016年06月22日 13:52
  • 3331

用Weex实现新闻类app详情页是怎样一种体验?

先上效果图:详情页:写在前面的话(weex在实际项目中给我的感受):公司项目中我已尝试部分页面使用Weex实现(iOS端),把weex文件放在了公司服务器上,使用url去加载weex渲染成原生页面(之...
  • voidxinnn
  • voidxinnn
  • 2016年12月21日 00:27
  • 1333

改变UINavigationBar导航条标题颜色和字体

UINavigationController 可以 改变UINavigationBar导航条标题颜色和字体     [self.navigationController.navigationBa...
  • qq_32385309
  • qq_32385309
  • 2016年06月24日 13:01
  • 555

Android 底部导航栏 BottomNavigationBar的简单使用

BottomNavigationView bottomNavigationBar的简单使用
  • yuzhiqiang_1993
  • yuzhiqiang_1993
  • 2016年08月24日 16:06
  • 12626

iOS 自定义导航栏 NavigationBar

自定义一个导航栏,包括左侧、右侧按钮,中间的title
  • u013892686
  • u013892686
  • 2016年06月24日 17:24
  • 6541

这种方式很好的解决了当前页面有navigationbar,而跳转到的页面却不需要Navigationbar的情况(来自电池管家)

-(void)animationPush:(UIViewController *)viewcontroller hidden:(BOOL)flag {     self.navigationContr...
  • chenyong05314
  • chenyong05314
  • 2014年03月05日 16:58
  • 1302

navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转,

(1)navigationBar导航条可以看做是self.navigationController导航控制器的一个属性,可以直接用点来表示self.navigationController.navig...
  • zhonggaorong
  • zhonggaorong
  • 2015年10月08日 16:51
  • 448

navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转

【iOS开发-22】navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转, (1)navigationBar导航条可以看做是self....
  • github_33195136
  • github_33195136
  • 2015年11月30日 15:19
  • 356

iOS Navigation Bar 导航栏折腾记 (Swift&OC)

https://juejin.im/post/599c4a89518825244d203dba 作为 iOS 开发者,难免要和导航栏打交道,通常呢,像微信这样优秀且友好的应用,全局使用系统导航栏...
  • zhuweideng
  • zhuweideng
  • 2017年08月24日 09:16
  • 302

navigation导航中导航栏的设置

参看:http://blog.csdn.net/mad1989/article/details/41516743 使用导航navigation时,下一页的标题的设置 1.在进入push下一页时,指...
  • u011774517
  • u011774517
  • 2016年09月07日 10:21
  • 145
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转
举报原因:
原因补充:

(最多只允许输入30个字)