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方法中加上我们上面定义的方法,现在运行来看一下效果:



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


好的证明我们实现了。

目录
相关文章
|
6月前
|
监控 Swift 开发者
【Swift开发专栏】Swift中的性能分析工具:Instruments
【4月更文挑战第30天】Apple的Instruments是Xcode中的性能分析神器,支持Swift和Objective-C,用于识别和解决Mac/iOS应用的性能问题。它提供实时监控、多合一模板、交互式界面和详细报告。通过启动Instruments、选择分析模板、配置选项、开始/停止分析及查看结果,开发者能定位性能瓶颈。优化技巧包括减少CPU负载、优化内存、减少磁盘I/O、网络优化、UI响应和并发处理。定期使用Instruments进行性能分析和优化,可提升应用性能和用户体验。
222 0
|
6月前
|
Ubuntu Linux Swift
安装Swift编程语言的工具
安装Swift编程语言的工具
133 4
|
Shell Swift iOS开发
Swift 实用工具 — SwiftLint
SwiftLint 是一个实用工具,用于实现 Swift 的风格。 在 Xcode 项目构建阶段,集成 SwiftLint 很简单,构建阶段会在编译项目时自动触发 SwiftLint。
265 0
|
JSON iOS开发 数据格式
swift4,网络请求工具Moya
在OC中,我们使用AFNetworking来进行网络请求,简洁方便。在swift中,我们使用Moya来进行网络请求,Moya封装了Alamofire,可以更加方便的进行网络请求。
2507 0
|
iOS开发 API Swift
ios swift 打造自己的http请求工具
在ios开发中,网络请求是不可以少的,说到网络请求可能用的最多的就是第三方的比人比较有名的AFNetworking、Alamofire等,原生的用的少。今天就用ios提供的原生方法来打造属于自己的一个网络请求工具吧。
1329 0
|
Swift
SWIFT显示底部的工具条
有以下页面显示我的讯息,用户可以点击右上角的编辑按钮进入删除状态。点击编辑按钮后,按钮文字改为“取消”,左上角的按钮变为“全选”,同时显示底部工具条带有“删除”按钮 实现起来挺简单的,在正常状态下点击编辑按钮的方法内写入: self.
856 0
|
Swift
swift UI专项训练14 ImageView图像视图
  图像在swift中基于UIImageView,我们从storyboard中拖一个ImageView出来。
1003 0
|
Swift
swift UI专项训练8 展示数据
  现在我想要点击表单中的条目,进行标记,再次点击以取消,那么该如何做呢?依然使用的是tableView的重载方法,在 Restaurant中新增一个isCollected的值表示是否收藏,...
907 0
|
Swift
swift UI专项训练9 添加数据
  今天我们来实现新增数据的功能。在新增餐馆的控制器中初始化一个类: var restaurant = Restaurant() 接着创建关联,按住control键选择done按钮拖拽到控制器代码中: 会自动生成如下代码: @IBOutlet weak var doneButton: UIBarButtonItem! 同理把文本框也拖过去。
859 0
|
Swift
swift UI专项训练10 视图共性
   讲到视图,先来看看视图的内容:    1.视图的实现:视图的基类是UIView    2.视图的Mode:尺寸填充模式,就是当尺寸超过了我们设定的值的时候采取什么适合屏幕的填充方式。
748 0

相关课程

更多