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

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

如果想要在一侧使用多个按钮,可以通过 leftBarButtonItems 和 rightBarButtonItems 来实现。 

 

下面演示给导航栏右侧添加两个按钮(搜索和设置):

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

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开中导航栏的放多个按钮的例子。

时间: 2024-09-25 01:17:30

Swift在导航栏左侧或者右侧放置多个按钮例子的相关文章

ios开发Swift修改导航栏“返回”按钮文字,图标

项目中常常会使用 UINavigationController 对各个页面进行导航,导航栏左侧的返回按钮默认标题文字是上级页面的title. 但如果上级页面的标题很长,那么这个返回按钮字很多就会很丑:    开发Swift修改导航栏"返回"按钮文字,图标-swift 导航栏返回按钮">      当文字极其长时返回文字就会变成"back":         一,要修改"返回按钮"的文字,有如下两种方式: 1,在父页面中设置 将na

Swift之导航栏标题文字太长,导致返回按钮文字消失问题解决

项目中常常会使用 UINavigationController 对各个页面进行导航,导航栏左侧的返回按钮默认标题文字是上级页面的 title. 但如果子页面的标题(title)文字过长,那么返回按钮的文字就会消失:   同样地,即使在父页面中将 navigationItem.backBarButtonItem 设为自定义的 UIBarButtonItem,修改返回按钮的文字:   如果子页面的标题文字过长,返回按钮的文字也是就会消失:   解决办法:将导航栏标题视图替换成自定义label,并限制

Bootstrap导航栏各元素操作方法(表单、按钮、文本)_javascript技巧

本文主要包括三大方面,大家仔细学习. 1.导航栏中的表单导航栏中的表单不是使用 Bootstrap 表单 章节中所讲到的默认的 class,它是使用 .navbar-form class.这确保了表单适当的垂直对齐和在较窄的视口中折叠的行为.使用对齐方式选项(这将在组件对齐方式部分进行详细讲解)来决定导航栏中的内容放置在哪里. 下面的实例演示了这点: <!DOCTYPE html> <html> <head> <title>Bootstrap 实例 - 默认

Swift将导航栏标题修改成自定义视图(图片、按钮、分段选择等)

默认导航栏UINavigationController的标题是文字,通过navigationItem.titleView属性可以很方便的将其替换成自定义的UIView视图.     1,使用图片作为标题   1 2 let image = UIImage(named: "logo") self.navigationItem.titleView = UIImageView(image: image) 2,使用按钮作为标题 import UIKit   class ViewControll

移动应用设计:谈导航栏返回按钮的替代方案

呼,又要夜间上新了.其实自己偶尔还会进去关于Be For Web里面看看将近两年前写的博客开篇语.当时的动力现在仍在,当时爱的那个世界现在仍在爱,并且越来越让我觉得自豪;这让我开心了些.周六晚上有在喝冰啤酒的兄弟姐妹吗,有的话我们虚拟碰个杯吧先,周末愉快=) 前面连续做了13篇iOS7预发布版界面设计规范,这周开始重新回到正常节奏,上一些小文.今次的小话题是关于返回按钮的;其实还少谈了一种越来越普及的替代方案,也就是将返回按钮做到底部标签栏或是工具栏最左侧;当然,准确的说,这种情况下容器本身也不

ios开发碰到自定义导航栏leftBarButtonItems导致滑动返回失效问题解决方法

通常使用导航控制器 navigationController 跳转到另一页面时,除了可以点击左上角的返回按钮,还可以通过在屏幕左侧向右滑动来返回到上一层.但如果自定义了 self.navigationItem.leftBarButtonItems 后会发现,滑动返回(swipe back)失效了. (如何自定义导航栏左侧按钮可以看这篇文章:Swift - 修改导航栏"返回"按钮文字,图标) 开发碰到自定义导航栏leftBarButtonItems导致滑动返回失效问题解决方法-leftb

自定义iOS7导航栏背景,标题和返回按钮文字颜色

在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem 更改导航栏的背景和文字Color 方法一: [objc] view plaincopy //set NavigationBar 背景颜色&title 颜色   [self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:20/25

JQuery Mobile实现导航栏和页脚_jquery

导航栏由一组水平排列的链接构成,通常位于页眉或页脚内部. 默认地,导航栏中的链接会自动转换为按钮(无需 data-role="button"). 导航栏部分的代码一般放置在data-role为header的div的内. <div data-role="header"> <a href="#" data-role="button" data-icon="home">首页</a&g

iOS中的导航栏UINavigationBar与工具栏UIToolBar要点解析_IOS

一.导航栏UINavigationBar 1.导航栏的使用 在iOS开发中,我们通常会使用导航控制器,导航控制器中封装了一个UINavigationBar,实际上,我们也可以在不使用导航控制器的前提下,单独使用导航栏,在UINavigationBar中,也有许多我们可以定制的属性,用起来十分方便. 2.UINavigationBar的创建和风格类型 导航栏继承于UIView,所以我们可以像创建普通视图那样创建导航栏,比如我们创建一个高度为80的导航栏,将其放在ViewController的头部,