swift - UIToolbar 的用法

代码如下:

1、声明及初始化

var toolsBar = UIToolbar()

toolsBar.frame = CGRect(x:0, y:100, width:SCREEN_WIDTH, height:44)
toolsBar.backgroundColor = UIColor.gray
self.view.addSubview(toolsBar)

2、UIBarButtonItem是工具条按钮,有如下初始化方法

1)初始化为普通图片

//创建后退按钮
        let btnback =  UIBarButtonItem(image:UIImage(named:"Icon_58"),
                                       style: .plain, target:self,
                                       action:#selector(backClick(sender:)))
//        创建第一个分隔按钮
        let btngap1 = UIBarButtonItem(barButtonSystemItem:.flexibleSpace,target:nil,action:nil)
        btngap1.width = 150
//        创建前进按钮  UIBarButtonItem
        let btnForward = UIBarButtonItem(image:UIImage(named:"Icon_58"),
                                         style: .plain, target:self,
                                         action:#selector(forwardClick(sender:)))
//        第二个分隔按钮,创建一个可伸缩的UIBarButtonItem
        let btngap2 = UIBarButtonItem(barButtonSystemItem:.fixedSpace,target:nil,action:nil)
        
//        添加按钮
        toolsBar.setItems([btnback,btngap1,btngap2,btnForward], animated: false)

2)普通图片按钮,但提供另一个备选图像供横屏使用

//普通图片按钮,但提供另一个备选图像供横屏使用
let btnBacks = UIBarButtonItem(image:UIImage(named:"reload.png"),landscapeImagePhone:UIImage(named:"forward.png"),style:.plain, target:self,action:#selector(hBackClick(sender:)));
            
//把按钮添加到工具条上
toolsBar.setItems([btnback], animated: true)

3)普通文本按钮,共有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中似乎不显示

具体代码:

//普通文本按钮  共有25个按钮
let btn1 =  UIBarButtonItem(barButtonSystemItem:.compose,target:nil, action:nil);
let btn2 =  UIBarButtonItem(barButtonSystemItem:.add,target:nil, action:nil);
let btn3 = UIBarButtonItem(barButtonSystemItem:.flexibleSpace,target:nil, action:nil); let btn4 = UIBarButtonItem(barButtonSystemItem:.reply,target:nil, action:nil); toolsBar.setItems([btn1,btn2,btn3,btn4], animated: false)

3、间隔(弹性间隔和固定间隔)

//弹性间隔
let btngap1 =  UIBarButtonItem(barButtonSystemItem:.flexibleSpace,target:nil,action:nil);
        
//固定间隔
let btngap2 =  UIBarButtonItem(barButtonSystemItem:.flexibleSpace,target:nil,action:nil);
btngap2.width = 50

注:如果想绑定响应方法的话,可以之间进行绑定就可以,我这里是直接传的nil