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. shell中判断用法

    测试结构: 测试命令可用于测试表达式条件的真假,true,则返回0,false,则返回非0:这一点c/c++有区别:       格式: test  expression #expression是一个 ...

  2. ListView与DataTable传递数据

    转载自:http://blog.sina.com.cn/s/blog_4b3485000100prhl.html 代码: using System; using System.Collections. ...

  3. Qt 释放新建窗口资源

    当Widget *w = new Widget(); 不方便调用 delete w;时 Widget *w = new Widget(); w->setAttribute(Qt::WA_Dele ...

  4. Chrome 快捷键

    chrome窗口和标签页快捷键: Ctrl+N 打开新窗口 Ctrl+T 打开新标签页 Ctrl+Shift+N 在隐身模式下打开新窗口 Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机上的文件 ...

  5. struts2之高危远程代码执行漏洞,可造成服务器被入侵,下载最新版本进行修复

          Struts2 被发现存在新的高危远程代码执行漏洞,可造成服务器被入侵,只要是Struts2版本 低于 2.3.14.3 全部存在此漏洞.目前官方已经发布了最新的版本进行修复.请将stru ...

  6. C# - InnerList

    运行效果: 代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; name ...

  7. uboot代码2:stage2代码,启动内核

    一.uboot最终目的: 1.读出内核 do_nand read kernel { flash上存的内核:uImage = 头部 + 真正的内核; } 2.启动内核. do_bootm_linux { ...

  8. hive regex insert join group cli

    1.insert Insert时,from子句既能够放在select子句后,也能够放在insert子句前,以下两句是等价的 hive> FROM invites a INSERT OVERWRI ...

  9. java对象占用内存大小计算方式

    案例一: User public class User { } UserSizeTest public class UserSizeTest { static final Runtime runTim ...

  10. Struts 2最新0day破坏性漏洞(远程任意代码执行)等的重现方法

    Struts 2的远程任意代码执行和重定向漏洞,是这两天互联网上最重大的安全事件,据说国内互联网企业中,很多电商纷纷中招,应该已经有大规模的用户隐私泄露.这里我们简单总结下怎样在自己机子上重现这些漏洞 ...