工具条是个很重要的内容,什么是工具条呢,它一般显示在屏幕下方,显示一些按钮或者文字,我们可以用系统现成的,也可以用我们自定义的。之前我们讲的都是需要代理模式的,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,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方法中加上我们上面定义的方法,现在运行来看一下效果:



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


好的证明我们实现了。

swift UI专项训练18 ToolBar工具条的更多相关文章

  1. iOS – UIToolBar作为UITextView的inputAccessoryView

    这是我的代码:解决方法如果工具栏中没有其他附近的按钮,工具栏似乎会将按钮的活动区域扩展到其边界之外.Apple工程师必须认为最好是猜测用户打算按哪个而不是根本不做出反应.

  2. iOS 10,UIToolbar背景颜色不会改变

    我有一个应用程序,自iOS8以来一直存在.它的工作方式是你有一个UITableView并点击单元格来产生一个分数,取决于底部的UI工具栏使用此方法改变颜色的分数:然后每当用这个点击表格视图时调用它:functableView(tableView:UITableView,didSelectRowAtIndexPathindexPath:NSIndexPath){事情是,它自从我构建应用程序以来一直有

  3. Xcode / iOS:如何隐藏Navigation-和ToolBar向下滚动?

    我想在iPhone上隐藏两个滚动条.当我向上滚动时,他们应该再次出现..我该如何处理?

  4. ios – 使用cameraOverlayView与UIImagePickerController

    我在图书馆里找不到这样的对象.任何帮助感激不尽.解决方法这是代码:在你的头文件中声明这一点:从ApplePhotoPicker添加此OverlayView.h和.m类.使用自定义相机按钮拍摄照片的操作:输出将如下图所示:快乐编码:)

  5. swift UI专项训练18 ToolBar工具条

    ToolBar属于目标操作,不需要代理。网界面上拖一个Toolbar拖到界面底部。toolbar的元素如下:Style主要是设置样式,比如浅色和黑色的。Item是工具栏上的按钮,跟导航栏很相似。我们可以选择系统中已有的,比如我们选择done那么toolbar上的按钮就会变成这样:样式非常多,大家可以试试。action中使用了注册,所以transhclick后面要跟着冒号,使用的系统样式是Trash,这是系统自带的是一个垃圾桶的样式。

  6. Android工具栏setNavigationIcon不起作用

    谢谢.解决方法我想你可以这样设置在syncState()之后放入setNavigationIcon

  7. 选项卡图标和文本均使用android设计支持库

    解决方法你是什么意思未被选中.你能分享一下你想要达到的目标以及你现在所处的位置.我不推荐你的做法.它做了很多不需要的东西来解决你的问题.我建议使用TabLayout类中的图标和文本,只需设置图标和文本.或者,如果需要,甚至是自定义布局,但使用TabLayout中的text1和图标.这样做有什么问题吗?

  8. android – requestLayout()调用不当

    你有其他调用requestLayout()的代码吗?您是否有任何代码可以进行广泛的布局子级更改,例如使视图GONE?>这是什么时候发生的?只是在开始时,就在所有观点布局之前?您有可疑的视图,称为requestLayout()不正确,您需要找到谁,何时以及为什么以前进行布局重组.

  9. 如何在TabLayout android中的活动中获取tab click事件

    这是我的活动中onCreate函数的实现.我需要动态创建标签.为简单起见,我制作了两个标签.我想在点击选项卡时更改编辑文本值.editText处于同一活动中.如何在活动中获得Tabclick事件?

  10. 图标和标题之间的工具栏中的填充/空格(Android 24)

    使用新的Android24,我发现工具栏上的图标和标题有更宽的填充,我找不到任何解决方法.例:MainActivity.java:activity_main.xml中:解决方法您可以在工具栏中添加此属性以避免此填充.

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部