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
相關文章
相關標籤/搜索