Swift在导航栏左侧或者右侧放置多个按钮

Swift在导航栏左侧或者右侧放置多个按钮在做应用中非常的常用了,我们下文就一起来看看Swift在导航栏左侧或者右侧放置多个按钮例子,希望此文章能够对各位有帮助。

使用 navigationItem.leftBarButtonItem 和 navigationItem.rightBarButtonItem 可以很方便的分别设置导航栏左侧和右侧按钮,但一侧只能有一个按钮。

如果想要在一侧使用多个按钮,可以通过 leftBarButtonItems 和 rightBarButtonItems 来实现。 
 
下面演示给导航栏右侧添加两个按钮(搜索和设置):

同时两个按钮间设置了间距,并将设置按钮顶到边上。

原文:Swift - 在导航栏左侧或者右侧放置多个按钮


import UIKit
 
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
         
        //搜索按钮
        let button1 = UIButton(frame:CGRectMake(0, 0, 18, 18))
        button1.setImage(UIImage(named: "search"), forState: .Normal)
        button1.addTarget(self,action:Selector("tapped1"),forControlEvents:.TouchUpInside)
        let barButton1 = UIBarButtonItem(customView: button1)
         
        //设置按钮
        let button2 = UIButton(frame:CGRectMake(0, 0, 18, 18))
        button2.setImage(UIImage(named: "settings"), forState: .Normal)
        button2.addTarget(self,action:Selector("tapped2"),forControlEvents:.TouchUpInside)
        let barButton2 = UIBarButtonItem(customView: button2)
         
        //按钮间的空隙
        let gap = UIBarButtonItem(barButtonSystemItem: .FixedSpace, target: nil,
            action: nil)
        gap.width = 15;
         
        //用于消除右边边空隙,要不然按钮顶不到最边上
        let spacer = UIBarButtonItem(barButtonSystemItem: .FixedSpace, target: nil,
            action: nil)
        spacer.width = -10;
         
        //设置按钮(注意顺序)
        self.navigationItem.rightBarButtonItems = [spacer,barButton2,gap,barButton1]
    }
     
    func tapped1(){
        print("搜索按钮点击")
    }
     
    func tapped2(){
        print("设置按钮点击")
    }
     
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

好了以上就是关于ios开中导航栏的放多个按钮的例子。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值