• Swift


    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
  • 相关阅读:
    剑指 Offer 31. 栈的压入、弹出序列
    剑指 Offer 33. 二叉搜索树的后序遍历序列
    剑指 Offer 36. 二叉搜索树与双向链表
    tarjan 强连通分量
    剑#指 Offer 34. 二叉树中和为某一值的路径
    剑指 Offer 32 III. 从上到下打印二叉树 III
    Tarjan C++版
    剑指 Offer 35. 复杂链表的复制
    tarjan2
    Vue:解决“此图片来自微信公众平台 未经允许不可引用”问题的方法
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4838209.html
Copyright © 2020-2023  润新知