Swift - 工具条(UIToolbar)的用法

1,UIBarButtonItem是工具条按钮,有如下5种init初始化方法:
(1)初始化为普通图片按钮
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
class ViewController : UIViewController {
        
     override func viewDidLoad() {
         super .viewDidLoad()
         // Do any additional setup after loading the view, typically from a nib.
         
         // 创建一个浏览器工具条,并设置它的大小和位置
         var browserToolbar =  UIToolbar (frame: CGRectMake (0, 20, 320, 44))
         
         // 将工具条添加到当前应用的界面中
         self .view.addSubview(browserToolbar)
         
         //创建后退
         var btnback =  UIBarButtonItem (image: UIImage (named: "back.png" ),
           style: UIBarButtonItemStyle . Bordered , target: self ,action: Selector ( "backClicked:" ));
           
         //第一个分隔按钮
         var btngap1 =  UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FlexibleSpace ,
             target: nil ,
             action: nil );
             
         // 创建前进按钮 UIBarButtonItem
         var btnforward = UIBarButtonItem (image: UIImage (named: "forward.png" ),
           style: UIBarButtonItemStyle . Plain , target: self , action: Selector ( "forwardClicked:" ));
         
         // 第二个分隔按钮,创建一个可伸缩的UIBarButtonItem
         var btngap2 =  UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FlexibleSpace ,
             target: nil ,
             action: nil );       
     }
         
     func backClicked(sender: UIBarButtonItem )
     {
         //后退
     }
     
     func forwardClicked(sender: UIBarButtonItem )
     {
         //前进
     }
}

(2)普通图片按钮,但提供另一个备选图像供横屏使用
1
2
var btnback =  UIBarButtonItem (image: UIImage (named: "back1.png" ),image: UIImage (named: "back2.png" ),
   style: UIBarButtonItemStyle . Bordered , target: self ,action: Selector ( "backClicked:" ));

(3)普通文本按钮
1
2
var btnback =  UIBarButtonItem (title: "确定" ,
   style: UIBarButtonItemStyle . Plain , target: self ,action: Selector ( "confrim:" ));

(4)使用预置按钮:如撤销,重做,编辑等(总共有25个样式)
Custom:默认样式
Flexible Space:自动伸缩的空白占位符
Fixed Space:固定宽度的占位元素
Add:“+”加号样式
Edit:Edit文字样式
Done:Done文字样式
Cancel:Cancel文字样式
Save:Save文字样式
Undo:Undo文字样式
Redo:Redo文字样式
Compose:背景矩形插支笔的图标样式
Reply:返回箭头的图标样式
Action:背景矩形加上一个向上箭头的图标样式
Organize:文件夹的图标样式
Trash:垃圾桶的图标样式
Bookmarks:书的图标样式
Search:放大镜的图标样式
Refresh:顺时针圆形箭头的图标样式
Stop:一个×的图标样式
Camera:一个照相机的图标样式
Play:向右三角形代表播放的图标样式
Pause:两条竖线代表播放的图标样式
Rewind:向左两个三角代表回退的图标样式
Fast Forward:向右两个三角代表快进的图标样式
Page Curl:页面旋转的图标样式。在Xcode 6中似乎不显示
示例如下:
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
import UIKit
 
class ViewController : UIViewController {
     
     var pickerView: UIPickerView !
     
     override func viewDidLoad() {
         super .viewDidLoad()
         
         // 创建一个浏览器工具条,并设置它的大小和位置
         var browserToolbar =  UIToolbar (frame: CGRectMake (0, 20, 320, 44))       
         // 将工具条添加到当前应用的界面中
         self .view.addSubview(browserToolbar)
         
         var btn1 =  UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . Compose ,
             target: nil , action: nil );
         var btn2 =  UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . Add ,
             target: nil , action: nil );
         var btn3 =  UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FlexibleSpace ,
             target: nil , action: nil );
         var btn4 =  UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . Reply ,
             target: nil , action: nil );
         
         browserToolbar.setItems([btn1,btn2,btn3,btn4], animated: false )
     }   
}

(5)使按钮变成任意一个UIView

2,使用UIBarButtonItem还可以创建间隔项
(1)弹性间隔(会尽可能往两端伸长)
1
2
3
var btngap1 =  UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FlexibleSpace ,
     target: nil ,
     action: nil );
(2)固定间隔(自定义宽度)
1
2
3
4
var btngap1 =  UIBarButtonItem (barButtonSystemItem: UIBarButtonSystemItem . FixedSpace ,
     target: nil ,
     action: nil );
btngap1.width = 50
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值