swift UI专项训练18 ToolBar工具条

简介:    工具条是个很重要的内容,什么是工具条呢,它一般显示在屏幕下方,显示一些按钮或者文字,我们可以用系统现成的,也可以用我们自定义的。

   工具条是个很重要的内容,什么是工具条呢,它一般显示在屏幕下方,显示一些按钮或者文字,我们可以用系统现成的,也可以用我们自定义的。之前我们讲的都是需要代理模式的,Dlelegate,委托模式。ToolBar属于目标操作,不需要代理。网界面上拖一个Toolbar拖到界面底部。


toolbar的元素如下:


Style主要是设置样式,比如浅色和黑色的。

Bar Tint是设置颜色。

Item是工具栏上的按钮,跟导航栏很相似。我们可以选择系统中已有的,比如我们选择done


那么toolbar上的按钮就会变成这样:


       样式非常多,大家可以试试。工具条的行为就比较特殊了,它不是代理,它是目标操作,那么目标是谁,操作是什么。现在来体验一下,老规矩,把组件和控制器连线。不需要委托,那么可以在控制器中直接进行操作.现在我准备把工具条设置两个按钮,一左一右,左边的是删除按钮:

var trashItem : UIBarButtonItem {
    return UIBarButtonItem(barButtonSystemItem: .Trash, target: self, action: "trashclick:")
    }
    
    
    func trashclick(barItem: UIBarButtonItem) {
    println("您按了删除")
    }



target就是目标,而action就是操作。action中使用了注册,所以transhclick后面要跟着冒号,使用的系统样式是Trash,这是系统自带的是一个垃圾桶的样式。

再添加一个分享按钮,代码类似:

var shareItem : UIBarButtonItem {
        return UIBarButtonItem(barButtonSystemItem: .Reply, target: self, action: "shareclick:")
    }
    
    
    func shareclick(barItem:UIBarButtonItem) {
        println("您按了分享")
    }



再在两个按钮间加一个空格,不需要代理和操作:

var spaceItem : UIBarButtonItem {
        return UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil)
    }

现在我们定义一个初始化按钮的方法:

func configToolbar(){
    let items = [
        trashItem,spaceItem,shareItem
        ]
    toolbar1.setItems(items, animated: true)
    }

别忘了最后在viewdidload方法中加上我们上面定义的方法,现在运行来看一下效果:



效果如图,如果中间没有加那个空格的话这两个按钮就挨在一起了。我们点击一下删除按钮,试试效果:


好的证明我们实现了。

目录
相关文章
|
7月前
|
监控 Swift 开发者
【Swift开发专栏】Swift中的性能分析工具:Instruments
【4月更文挑战第30天】Apple的Instruments是Xcode中的性能分析神器,支持Swift和Objective-C,用于识别和解决Mac/iOS应用的性能问题。它提供实时监控、多合一模板、交互式界面和详细报告。通过启动Instruments、选择分析模板、配置选项、开始/停止分析及查看结果,开发者能定位性能瓶颈。优化技巧包括减少CPU负载、优化内存、减少磁盘I/O、网络优化、UI响应和并发处理。定期使用Instruments进行性能分析和优化,可提升应用性能和用户体验。
258 0
|
7月前
|
Ubuntu Linux Swift
安装Swift编程语言的工具
安装Swift编程语言的工具
149 4
|
Shell Swift iOS开发
Swift 实用工具 — SwiftLint
SwiftLint 是一个实用工具,用于实现 Swift 的风格。 在 Xcode 项目构建阶段,集成 SwiftLint 很简单,构建阶段会在编译项目时自动触发 SwiftLint。
279 0
|
JSON iOS开发 数据格式
swift4,网络请求工具Moya
在OC中,我们使用AFNetworking来进行网络请求,简洁方便。在swift中,我们使用Moya来进行网络请求,Moya封装了Alamofire,可以更加方便的进行网络请求。
2518 0
|
iOS开发 API Swift
ios swift 打造自己的http请求工具
在ios开发中,网络请求是不可以少的,说到网络请求可能用的最多的就是第三方的比人比较有名的AFNetworking、Alamofire等,原生的用的少。今天就用ios提供的原生方法来打造属于自己的一个网络请求工具吧。
1343 0
|
Swift
SWIFT显示底部的工具条
有以下页面显示我的讯息,用户可以点击右上角的编辑按钮进入删除状态。点击编辑按钮后,按钮文字改为“取消”,左上角的按钮变为“全选”,同时显示底部工具条带有“删除”按钮 实现起来挺简单的,在正常状态下点击编辑按钮的方法内写入: self.
861 0
|
Swift
swift UI专项训练14 ImageView图像视图
  图像在swift中基于UIImageView,我们从storyboard中拖一个ImageView出来。
1007 0
swift UI专项训练4 场景过渡-转场
    上一话中我们创建了两个场景,这一话我们想要实现两个场景间的过渡。我们只需要增加一个导航条。
867 0
|
iOS开发
swift UI专项训练5 定制视图控制器
  我们现在已经添加了两个场景了,尽管我们有默认的视图控制器,但是我们还是想自己定制一下自己的控制器,我们之前一直在storyboard上做操作,现在来些一些代码。
898 0
Swift UI专项训练6 反向过渡
  上一话中我们第二个场景设置过渡的时候选择的是modal类型,不是push。所以用户输入后需要手工返回。
880 0