IOS学习:设置导航栏(UINavigationBar)属性

来源:互联网 发布:制作慢动作视频软件 编辑:程序博客网 时间:2024/05/16 15:38

  • 创建导航

  • 每一个被导航视图控制所管理的视图控制器都有一个navigationItem(这里面包含了左按钮,右按钮,中间标题,中间视图)。
  1. 导航栏的标题:navigationItem.title
  2. 设置导航栏左按钮:letleftBarBtn = UIBarButtonItem
  3. 设置导航栏按钮数组:let rightBarBtn = UIBarButtonItem[ ]
  4. 设置导航栏的中间视图:let segment


    UINavigationBar

  • 导航栏(UINavigationBar)在本类中(视图)访问navigationController就是获取到本视图控制器所在的导航视图控制器。
  1. 设置 导航栏是否隐藏: navigationController?.navigationBarHidden = false //true是隐藏
  2. 设置导航栏的样式:  navigationController?.navigationBar.barStyle = .Black //.Black .Defualt
  3. 设置导航栏的背景颜色:  navigationController?.navigationBar.backgroundColor = UIColor.grayColor()
  4. 设置导航栏本身的颜色:  navigationController?.navigationBar.barTintColor = UIColor.yellowColor()
  5. 设置导航栏元素的颜色(例如左按钮,右按钮,中间标题):  navigationController?.navigationBar.tintColor = UIColor.redColor()
  6. 导航栏  半透明效果0,0)点在左上角  //false (0,0)点在导航栏的左下角:  navigationController?.navigationBar.translucent = true

   页面跳转:
  1. UINavigationController通过栈的方式管理控制器的切换,控制入栈和出栈来展示各个视图控制器。
  2. UINavigationController的ContentView里始终显示栈顶控制器的view。
  3. viewControllers属性是一个可变数组(NSMutableArray)存储了栈中的所有被管理的控制器,入栈的时候,使用addObject把新的视图控制器对象添加到数组末尾,出栈时removeLastObject移除数组末尾的试图控制器对象。
  4.  navigationController属性,父类中的属性,每个在栈中的控制器,都能通过此属性,获取自己所在的UINavigationController对象。


   栈的特点:先进后出, 后进先出。   • 栈顶为当前显示的视图控制器。


 入栈和出栈:


  进入下一页:

 (void)next{ // 跳转 // 推出(push) // 

1.创建第对象 SecondViewController *secVC = [[SecondViewControlleralloc] init]; 

2.通过导航控制器推出新的 [self.navigationController pushViewController:secVCanimated:YES]; 

3.内存管理 [secVC release];}


返回上一页:

1.(void)back{ // 返回上 [self.navigationController popViewControllerAnimated:YES];} 

2.VC数组 NSLog(@"%@", self.navigationController.viewControllers);

3.返回指定的VC [self.navigationControllerpopToViewController:self.navigationController.viewControllers[0]animated:YES]; 

4.返回根视图 [self.navigationControllerpopToRootViewControllerAnimated:YES];


页面切换方式对比:

页面的切换方式主要分为:推出(push)和模态(present)。• 推出(push)用于一系列的视图之间的跳转有层次递进关系。• 模态(present)用于单独功能页面的跳转和主要业务逻辑没有关联(登录,歌曲播放页,系统相册,应用中调用系统功能)。


0 1
原创粉丝点击