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

Swift - 工具条(UIToolbar)的用法的更多相关文章

  1. swift - UIToolbar 的用法

    代码如下: 1.声明及初始化 var toolsBar = UIToolbar() toolsBar.frame = CGRect(x:, y:, width:SCREEN_WIDTH, height ...

  2. SWIFT显示底部的工具条

    有以下页面显示我的讯息,用户可以点击右上角的编辑按钮进入删除状态.点击编辑按钮后,按钮文字改为“取消”,左上角的按钮变为“全选”,同时显示底部工具条带有“删除”按钮 实现起来挺简单的,在正常状态下点击 ...

  3. iOS:导航栏的工具条和导航条

    功能:用NAV视图控制器打开新的视图,默认工具条和导航条隐藏,双击显示之 // // main.m // Hello // // Created by lishujun on 14-8-28. // ...

  4. 学习OpenSeadragon之五(工具条toolbar与自定义按钮)

    OpenSeadragon简介:学习OpenSeadragon之一(一个显示多层图片的开源JS库) 一.工具条toolbar设置 OpenSeadragon为我们提供了现成的工具条toolBar,工具 ...

  5. 如何往IE工具条添加按钮(转载)

    如何往IE工具条添加按钮 问题提出:金山词霸.网络蚂蚁等软件安装后会向IE的工具条添加自己的按钮.按下按钮后还会作出相应的动作,这种功能是如何实现的呢?读完本文,您也可以将自己应用程序的按钮添加到IE ...

  6. Fiddler(二)Fiddler操作界面[工具条]和[底部状态面板]说明

    工具条说明 下面从左往右介绍一下每个按钮在工作中能起到什么作用,我这里是汉化版,所以顾名思义大家也能大概明白,并且鼠标在对应的图标上停留会有官方解释.下面再稍微补充一下 从第二个按钮说起,也就是小气泡 ...

  7. IE浏览器弹出的文件下载工具条实现自动另存为

    IE浏览器中如果有一个文件可以下载,用鼠标点击一下文件的超链接,会在IE浏览器下方出现一个工具条,工具条上主要有“打开” “保存”两个按钮. 如果点击“保存”按钮,会把附件保存到系统的“下载”或“Do ...

  8. iOS 导航栏 工具条

    导航栏最常见的例子就是返回按钮的所在 在AppDelegate.m中,代码布局最开始定义窗口的时候, _window.rootViewController就应该为一个UINavigationContr ...

  9. Navisworks API 简单二次开发 (自定义工具条)

    在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...

随机推荐

  1. ViewPager控件的Demo

    1.主视图 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to ...

  2. JQuery - 改变css样式

    jQuery提供css()的方法来实现嵌入式改变元素样式,css()方法在使用上具有多样性.其中一种接受两个输入参数:样式属性和样式值,它们之间用逗号分开.比如我们要改变链接颜色,我们可以使用下面的代 ...

  3. 【j2ee】div浮动层拖拽

    背景:近期项目中需要实现弹出浮层增加数据,并且浮动层可以拖拽 解决步骤:1.浮动层实现  2.拖拽实现 多方查资料,基本实现功能,现做demo,便于以后使用 先上图片大体展示实现效果: 再上代码,展示 ...

  4. Win7+花生壳6.0+tomcat打做自己的web服务器(搭建自己的网站)(参考)

    链接地址:http://blog.csdn.net/zhu_9527/article/details/23344623?utm_source=tuicool&utm_medium=referr ...

  5. JQuery Datatable Ajax请求两次问题的解决

    最近一个项目中使用JQuery Datatable,用起来比较方便,但在测试过程中,发现当条件改变时,有时查询结果中的数据不正确. 使用FireBug跟踪时,发现在使用Ajax请求时,点击一次搜索按钮 ...

  6. boost之program_options库,解析命令行参数、读取配置文件

    一.命令行解析 tprogram_options解析命令行参数示例代码: #include <iostream> using namespace std; #include <boo ...

  7. Android Branch and master source code merge(patch)

    Environment : Android 4.4.2 merge with Android 4.4.3(with other vendors source code) 1.确定你要merge 到 其 ...

  8. 黑马程序猿_Objective C 类与协议

    <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>.& ...

  9. iOS进阶面试题----经典10道

    OneV‘s Den在博客里出了10道iOS面试题,用他的话是:"列出了十个应聘Leader级别的高级Cocoa/CocoaTouch开发工程师所应该掌握和理解的技术" .  在这 ...

  10. 在webx.ml中 配置struts2 后 welcome-file-list 失效的解决办法

    struts2 <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.a ...