1,UIBarButtonItem是工具条按钮,有如下5种init初始化方法:
(2)普通图片按钮,但提供另一个备选图像供横屏使用
(3)普通文本按钮
(4)使用预置按钮:如撤销,重做,编辑等(总共有25个样式)
(5)使按钮变成任意一个UIView
2,使用UIBarButtonItem还可以创建间隔项
(1)弹性间隔(会尽可能往两端伸长)
(2)固定间隔(自定义宽度)
(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
)
{
//前进
}
}
|
1
2
|
var
btnback =
UIBarButtonItem
(image:
UIImage
(named:
"back1.png"
),image:
UIImage
(named:
"back2.png"
),
style:
UIBarButtonItemStyle
.
Bordered
, target:
self
,action:
Selector
(
"backClicked:"
));
|
1
2
|
var
btnback =
UIBarButtonItem
(title:
"确定"
,
style:
UIBarButtonItemStyle
.
Plain
, target:
self
,action:
Selector
(
"confrim:"
));
|
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
);
|
1
2
3
4
|
var
btngap1 =
UIBarButtonItem
(barButtonSystemItem:
UIBarButtonSystemItem
.
FixedSpace
,
target:
nil
,
action:
nil
);
btngap1.width = 50
|