美文网首页
Swift 设置navigation左右两侧按钮

Swift 设置navigation左右两侧按钮

作者: 彧哥哥 | 来源:发表于2017-05-17 13:38 被阅读0次

    我们以设置右侧按钮为例,左侧方法类似
    方法一,直接自定义文字
    [objc]view plaincopy

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

    方法二,使用系统图标
    [objc]view plaincopy

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

    方法三,使用自定义控件
    这里我们自定义button为例来实现
    [objc]view plaincopy

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

    方法四,我们还可以直接放一张图片上去
    [objc]view plaincopy

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

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

    img=img?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
    

    以上方法都是添加一个按钮
    如果想一次添加多个该怎么做?
    我们发现我们给右侧按钮赋值的方法是 rightBarButtonItem 其实还有属性 rightBarButtonItems
    看代码
    [objc]view plaincopy

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

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

    相关文章

      网友评论

          本文标题:Swift 设置navigation左右两侧按钮

          本文链接:https://www.haomeiwen.com/subject/wujdxxtx.html