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. 关于JSP post请求乱码的问题

    解决用户请求页面乱的问题 1. 修改apache下的config文件夹下的server.XML文件 <Connector connectionTimeout="20000" ...

  2. 获取sdcard和内存的存储空间

    package com.example.sdcardspace; import java.io.File; import android.os.Bundle; import android.os.En ...

  3. BZOJ 1025: [SCOI2009]游戏( 背包dp )

    显然题目要求长度为n的置换中各个循环长度的lcm有多少种情况. 判断一个数m是否是满足题意的lcm. m = ∏ piai, 当∑piai ≤ n时是满足题意的. 最简单我们令循环长度分别为piai, ...

  4. Tri_integral Summer Training 9 总结

    比赛链接 A B C D H I J K 多灾多难的 Summer Training 9,前一天挂了一场比赛,结果题一半不能做,于是打了一个小时就放弃了.之后的两场Summer Training 9一 ...

  5. mysql服务无法启动

    可能是没有data文件夹,可以新建或拷贝以前的data文件夹到安装目录.

  6. Android imageView图片按比例缩放

    android:scaleType可控制图片的缩放方式,示例代码如下: <ImageView android:id="@+id/img" android:src=" ...

  7. [JBoss] JNDI与JBossNS

    JNDI的作用 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface). 随着分布式应用的发展,远程访问对象访问成为常用的方法.虽然说通过Soc ...

  8. MVC:Controller向View传值方式总结

    Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...

  9. ajax动态加载的图标

    http://www.ajaxload.info/ 这个网站可以动态生成ajax加载样式的小图片,git格式,挺不错推荐给大家

  10. poj1830

    高斯消元求秩,难在构造方程. ; ; i < equ; i++)     {         ; j < var + ; j++)         {             cout & ...