zoukankan      html  css  js  c++  java
  • Swift 设置navigation左右两侧按钮

    我们以设置右侧按钮为例,左侧方法类似

    方法一,直接自定义文字

    1. let item=UIBarButtonItem(title: "分享", style: UIBarButtonItemStyle.Plain, target: self, action: nil)  
    2. self.navigationItem.rightBarButtonItem=item  


    方法二,使用系统图标

    1. let item1=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: nil)//此处使用的图标UIBarButtonSystemItem是一个枚举.大家可以尝试一下其他值出来是什么  
    2. self.navigationItem.rightBarButtonItem=item1  


    方法三,使用自定义控件

    这里我们自定义button为例来实现

    1. let btn1=UIButton(frame: CGRectMake(0, 0, 50, 30))  
    2. btn1.setTitle("完成", forState: UIControlState.Normal)  
    3. let item2=UIBarButtonItem(customView: btn1)  
    4. self.navigationItem.rightBarButtonItem=item2  


    方法四,我们还可以直接放一张图片上去

    1. var img=UIImage(named: "test_img")  
    2.   
    3. let item3=UIBarButtonItem(image: img, style: UIBarButtonItemStyle.Plain, target: self, action: nil)  
    4. self.navigationItem.rightBarButtonItem=item3  

    如果只是按照以上方法实现,我们会发现出来的是一个纯色的图片,是因为iOS扁平化设计风格应用之后做成这样的,如果需要现实图片,我们可以设置一项 img=img?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)


    以上方法都是添加一个按钮

    如果想一次添加多个该怎么做?

    我们发现我们给右侧按钮赋值的方法是 rightBarButtonItem   其实还有属性 rightBarButtonItems

    看代码

    1. let items1=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: nil)  
    2. let items2=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Action, target: self, action: nil)  
    3. self.navigationItem.rightBarButtonItems=[items1,items2]  


    如果想设置左侧按钮 直接 调用 self.navgigationItem.leftBarButtonItem 即可

  • 相关阅读:
    宝塔面板连接数据库失败
    fastadmin上线部署中遇到访问路径问题
    宝塔部署时,出现“open_basedir restriction in effect”错误
    layui hint:upload is not a valid module
    thinkphp--控制器怎么分配变量到公共模板
    jquey click事件无效
    1.31 SVN代码版本控制
    8.1 性能优化简介
    5.31 Nginx最全面知识
    4.115 Spring的事务管理
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5005975.html
Copyright © 2011-2022 走看看