Swift - 导航条(UINavigationBar)的使用

与导航控制器(UINavigationController)同时实现导航条和页面切换功能不同。
导航条(UINavgationBar)可以单独使用,添加至任何的UIView中。UINavigationBar比较重要的属性为,左侧按钮,中间的标题,以及右侧按钮。

下面是一个使用样例,点击左侧加号会添加一个新的导航项,点击右侧Cancel会移除当前最上层导航项。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import UIKit
 
class ViewController : UIViewController {
     
     var count = 0
     //声明导航条
     var navigationBar: UINavigationBar ?
 
     override func viewDidLoad() {
         super .viewDidLoad()
         // Do any additional setup after loading the view, typically from a nib.
         //实例化导航条
         navigationBar = UINavigationBar (frame: CGRectMake (0, 20, 320, 44))
         self .view.addSubview(navigationBar!)
         onAdd()
     }
 
     override func didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
         // Dispose of any resources that can be recreated.
     }
     
     //增加导航项函数
     func onAdd(){
         count++
         //给导航条增加导航项
         navigationBar?.pushNavigationItem(onMakeNavitem(), animated: true )
     }
     
     //删除导航项函数
     func onRemove(){
         if count > 1{
             //减少导航项数量
             count--
             //从导航条中移除最后一个导航项
             navigationBar?.popNavigationItemAnimated( true )
         }
     }
     
     //创建一个导航项
     func onMakeNavitem()-> UINavigationItem {
         var navigationItem = UINavigationItem ()
         //创建左边按钮
         var leftBtn = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . Add ,
             target: self , action: "onAdd" )
         //创建右边按钮
         var rightBtn = UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . Cancel ,
             target: self , action: "onRemove" )
         //设置导航栏标题
         navigationItem.title = "第\(count)个导航项"
         //设置导航项左边的按钮
         navigationItem.setLeftBarButtonItem(leftBtn, animated: true )
         //设置导航项右边的按钮
         navigationItem.setRightBarButtonItem(rightBtn, animated: true )
         return navigationItem
     }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值