码迷,mamicode.com
首页 > 其他好文 > 详细

导航控制器UINavigationController

时间:2016-09-01 11:13:11      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

(一)导航控制器:严格来说,导航控制器并不是视图控制器,只是一个专门来管理ViewController的容器类。采用堆栈的设计模式,先进后出,后进先出。push就是压栈,pop就是弹栈。

(二)导航栏:UINavigationBar:就是导航控制器上面那一栏。

     // 设置导航栏的背景颜色
        navigationController?.navigationBar.barTintColor = UIColor.orangeColor()
        // 设置导航栏的背景图片 参数3是设置横竖屏
        navigationController?.navigationBar.setBackgroundImage(UIImage(named: "2"), forBarPosition: .Any, barMetrics: .Default)

(三)模型:UINavigationItem:这就是一个模型,设定了导航栏的各个属性状态。

(四)导航按钮:UIBarButtonItem:就是添加在导航栏上面的按钮。这里除了可以使用系统自带的按钮外,还完全可以自定义。

     // 设置左按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Play, target: nil, action: nil)

技术分享

  修改颜色:

    // 颜色渲染
        navigationController?.navigationBar.tintColor = UIColor.orangeColor()

技术分享

  如果自己写了左侧按钮,那么系统自带的pop就会消失,需要自定义。

(五)工具栏:导航控制器的工具栏在最下方,默认是隐藏的。

    // 工具栏
        navigationController?.toolbarHidden = false
        navigationController?.toolbar.barTintColor = UIColor.yellowColor()

(六)滑动时候自动隐藏:很多APP在滑动的时候,导航栏和工具栏都是隐藏的。例如读书软件和视频软件。

       // 当设备横屏时候,自动隐藏
        navigationController?.hidesBarsWhenVerticallyCompact = true
        // 当用胡单机屏幕时候,自动隐藏
        navigationController?.hidesBarsOnTap = true
        // 当键盘弹起时候,自动隐藏
        navigationController?.hidesBarsWhenKeyboardAppears = true
        // 当用户滑动时候,自动隐藏
        navigationController?.hidesBarsOnSwipe = true    

 

导航控制器UINavigationController

标签:

原文地址:http://www.cnblogs.com/sgxx/p/5828610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!