Swift 设置navigation左右两侧按钮

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

方法一,直接自定义文字

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

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

方法三,使用自定义控件

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

        let btn1=UIButton(frame: CGRectMake(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,action: nil)
        self.navigationItem.rightBarButtonItem=item3

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



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

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

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

代码

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

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


苹果开发群 :414319235 欢迎加入 欢迎讨论问题

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...