IOS学习日记之UIView与视图(九)工具栏

472 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情

大家好,我是小黑,一个还没秃头的程序员~~~

大家好,今天介绍的是工具栏UIToolBar,通常位于页面底部,效果如下:

image.png

话不多说,正文开始:

工具栏UIToolBar

UIToolBar通常会沿界面的底部边缘显示一个或多个按钮的控件。

要创建工具栏项,使用UIBarButtonItem类。要向工具栏添加工具栏项,请使用setItems(_:animated:)方法。 工具栏图像,表示一个项目的正常和突出显示状态,该项目派生自使用继承自UIBarItem类的image属性设置的图像。该图像使用工具栏的tintColor着色。 如果你需要单选按钮样式的控件,可以使用UITabBar类而不是UIToolbar。这个后续会介绍

UIBarButtonItem

UIBarButtonItem用于放置在工具栏或标签栏上的专门按钮

UIBArButtonItem的基本属性如下:

属性说明
target接收操作的对象,通常是self
action点击事件
style单个工具栏的样式
possibleTitles在工具栏按钮上显示的可能标题的集合
width宽度
customView该项的自定义视图
menu该项的上下文菜单
primaryAction当用户选择项目时发送给目标的操作
tintColor应用于按钮项的着色颜色

下面是一个简单的工具栏示例代码:

 let toolBarHeight:CGFloat = 50
        let toolBar = UIToolbar(frame: CGRect(x: 0, y: screen.size.height-toolBarHeight, width: screen.size.width, height: toolBarHeight))
        let spacer = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
        let firstTab = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(clickFirstTab))
        
        let secondTab = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(clickSecondTab))
        let thirdTab = UIBarButtonItem(title: "我的", style: .plain, target: self, action: #selector(clickSecondTab))
        toolBar.items=[spacer,firstTab,spacer,secondTab,spacer,thirdTab,spacer]
        self.view.addSubview(toolBar)
        
...

  @objc func clickFirstTab(){
        NSLog("点击了第一个底部tab")
    }

在放置按钮时,我还在每两个按钮之间以及左右边缘放置了一个空白的按钮用于均分剩余的空间,起到item均分空间的效果,用到了.flexibleSpace,其他的样式如下:

UIBarButtonItem.SystemItem

样式说明
done系统完成按钮
cancel系统取消按钮
edit系统编辑按钮
save系统保存按钮
add包含一个加号图标的系统加号按钮
flexibleSpace要在其他项目之间添加的空格。空间平均分配在其他物品之间。设置此值时,将忽略其他项属性
fixedSpace要在其他项目之间添加的空格。设置此值时,仅使用宽度属性
compose系统组成按钮
reply系统回复按钮
action系统操作按钮
organize系统组织按钮
bookmarks系统书签按钮
search系统搜索按钮
refresh系统刷新按钮
stop系统暂停按钮
camera系统摄像按钮
trash系统清空按钮
play系统播放按钮
pause系统暂停按钮
rewind系统倒带按钮
fastForward系统快进按钮
undo系统撤销按钮
redo系统重做按钮
close系统关闭按钮

UIBarButtonItem.Style

样式说明
plain默认的条目样式
done表示完成的按钮

以上便是IOS中关于活动指示器UIActivityIndicatorView、进度条UIProgressView的使用,今天的UIView学习分享就到这里,后面我会持续输出iOS开发笔记,感谢大家的阅读!共同努力!大家晚安!