swift小技巧之设置navigation左右两侧按钮

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

  • 方法一,直接自定义文字

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

  • 方法二,使用系统图标
    let item1=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: nil)
    //此处使用的图标UIBarButtonSystemItem是一个枚举.大家可以尝试一下其他值出来是什么self.navigationItem.rightBarButtonItem=item1
  • 方法三,使用自定义控件

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

    let btn1=UIButton(frame: CGRectMake(0, 0, 50, 30))
    btn1.setTitle("完成", forState: UIControlState.Normal)

    let item2=UIBarButtonItem(customView: btn1)
    self.navigationItem.rightBarButtonItem=item2

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

    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
    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 即可

posted on 2021-07-18 13:24  梁飞宇  阅读(641)  评论(0)    收藏  举报