美文网首页
Swift - 工具条(UIToolbar)的用法

Swift - 工具条(UIToolbar)的用法

作者: 小驴拉磨 | 来源:发表于2020-06-19 16:51 被阅读0次

(本文代码已升级至Swift5)

1、UIBarButtonItem是工具条按钮,有如下5种init初始化方法:
image.png
func toolbar()
{
    // 创建一个浏览器工具条,并设置它的大小和位置
    let browserToolbar =  UIToolbar(frame:CGRect(x:0, y:20, width:320, height:44))
     
    // 将工具条添加到当前应用的界面中
    self.view.addSubview(browserToolbar)
     
    //创建收藏按钮
    let myCollection =  UIBarButtonItem(image:UIImage(named:"IQH_mine_myCollection"),
                                   style: .plain, target:self,
                                   action:#selector(ViewController.myCollectionClick(_:)))
     
    //第一个分隔按钮
    let btngap1 =  UIBarButtonItem(barButtonSystemItem:.flexibleSpace,
                                   target:nil,
                                   action:nil)
     
    // 创建设置按钮 UIBarButtonItem
    let systemSetting = UIBarButtonItem(image:UIImage(named:"IQH_mine_systemSetting"),
                                     style: .plain, target:self,
                                     action:#selector(ViewController.systemSettingClick(_:)))
     
    // 第二个分隔按钮,创建一个可伸缩的UIBarButtonItem
    let btngap2 =  UIBarButtonItem(barButtonSystemItem:.flexibleSpace,
                                   target:nil,
                                   action:nil)
     
    //添加按钮
    browserToolbar.setItems([myCollection, btngap1, systemSetting, btngap2], animated: false)
}

@objc func myCollectionClick(_ sender:UIBarButtonItem) {
   //后退
   print("收藏按钮点击")
}

@objc func systemSettingClick(_ sender:UIBarButtonItem) {
   //前进
   print("设置按钮点击")
}

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

let collectionBarItem =  UIBarButtonItem(image:UIImage(named:"IQH_mine_myCollection"), landscapeImagePhone:UIImage(named:"IQH_mine_systemSetting"), style:.plain, target:self, action:#selector(ViewController.backClick(_:)))

(3)普通文本按钮

let collectionBarItem =  UIBarButtonItem(title:"收藏", style:.plain, target:self,
                               action:#selector(ViewController.ollectionClick(_:)))

(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中似乎不显示
    示例如下:


    image.png
import UIKit
 
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
         
        // 创建一个浏览器工具条,并设置它的大小和位置
        let browserToolbar =  UIToolbar(frame:CGRect(x:0, y:20, width:320, height:44))
        // 将工具条添加到当前应用的界面中
        self.view.addSubview(browserToolbar)
         
        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);
         
        browserToolbar.setItems([btn1,btn2,btn3,btn4], animated: false)
    }
     
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

(5)使按钮变成任意一个UIView

let progressBarItem = UIBarButtonItem(customView: progressView)
2、使用UIBarButtonItem还可以创建间隔项

(1)弹性间隔(会尽可能往两端伸长)

let btngap1 =  UIBarButtonItem(barButtonSystemItem: .flexibleSpace,
                               target:nil, action:nil)

(2)固定间隔(自定义宽度)

let btngap1 =  UIBarButtonItem(barButtonSystemItem: .fixedSpace,
                               target:nil, action:nil)
btngap1.width = 50

原文出自:www.hangge.com 转载请保留原文链接:https://www.hangge.com/blog/cache/detail_551.html

相关文章

网友评论

      本文标题:Swift - 工具条(UIToolbar)的用法

      本文链接:https://www.haomeiwen.com/subject/qkzvxktx.html