首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在没有IB的情况下在右侧的UINavigationbar中添加2个按钮?

在没有使用 Interface Builder 的情况下,您可以通过编程方式在 UINavigationBar 中添加两个按钮。以下是一个简单的示例,展示了如何在右侧的 UINavigationBar 中添加两个按钮:

  1. 首先,确保您的视图控制器已经遵循了 UINavigationBarDelegate 协议。在视图控制器的类定义中添加 UINavigationBarDelegate:
代码语言:swift
复制
class YourViewController: UIViewController, UINavigationBarDelegate {
    // ...
}
  1. 在视图加载时,设置导航栏的代理为当前视图控制器,并创建两个 UIBarButtonItem 实例:
代码语言:swift
复制
override func viewDidLoad() {
    super.viewDidLoad()

    // 设置导航栏代理
    navigationController?.navigationBar.delegate = self

    // 创建第一个按钮
    let button1 = UIButton(type: .system)
    button1.setTitle("Button 1", for: .normal)
    button1.addTarget(self, action: #selector(button1Tapped), for: .touchUpInside)
    let barButton1 = UIBarButtonItem(customView: button1)

    // 创建第二个按钮
    let button2 = UIButton(type: .system)
    button2.setTitle("Button 2", for: .normal)
    button2.addTarget(self, action: #selector(button2Tapped), for: .touchUpInside)
    let barButton2 = UIBarButtonItem(customView: button2)

    // 将两个按钮添加到数组中
    navigationItem.rightBarButtonItems = [barButton1, barButton2]
}
  1. 最后,添加按钮的点击事件处理方法:
代码语言:swift
复制
@objc func button1Tapped() {
    print("Button 1 tapped")
}

@objc func button2Tapped() {
    print("Button 2 tapped")
}

这样,您就可以在右侧的 UINavigationBar 中添加两个按钮,而无需使用 Interface Builder。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 11 更大导航 (官方翻译版)

有时,导航栏右侧包含一个控件,编辑或完成按钮,用于管理活动视图中内容。在拆分视图中,导航栏可能会出现在拆分视图单个窗格。...暂时隐藏酒吧,提供更身临其境体验。查看全屏照片时,照片会隐藏导航栏和其他界面元素。如果您实现这种行为,让用户使用简单手势(轻按)来还原导航栏。...有关开发人员指导,请参阅UINavigationBar。 提示不需要导航时使用工具栏,或者想要多个控件来管理内容。请参阅工具栏。 导航栏标题 考虑在导航栏显示当前视图标题。...后退按钮总是执行单个操作 - 返回到上一个屏幕。如果您认为在没有当前屏幕完整路径情况下,人们可能会迷失方向,请考虑对应用程序层次结构进行展平。 给文本标题按钮足够空间。...如果您导航栏包含多个文本按钮,那些按钮文本可能会一起运行,使按钮无法区分。通过在按钮之间插入固定空间项来添加分隔。

2.8K30

UI篇-UINavigationController之易忘补充

上面设置为YES,下面的为NO 关于导航返回:     首先ios7 之后只要使用系统自带导航效果就有手动滑动返回效果。但是当自定义返回按钮时,这种手动滑动返回效果就没有了。...alloc] init]; backItem.title = @"返回"; self.navigationItem.backBarButtonItem = backItem; 若想自定义返回情况添加手动返回...UINavigationItem属于MVCM,封装了要显示在UiNavigationBar数据,定义了UINavigationItem上按钮触发事件,外观等 -initWithBarButtonSystemItem...:action:设置视图触发事件 tintColor  设置tintColor可以影响添加在导航条上系统样式按钮颜色  title: 标题  titleView :标题视图  leftBarButtonItem...:左按钮  rightBarButtonItem :右按钮  backBarButtonItem  :返回按钮 与UINavigationController相似,UINavigationBar

2.1K20

iOS开发入门笔记

这篇文档不讲IB,只讲Objective-C,因为: 基本上,每一本讲iOS开发书(纸质书、电子书),都有大量截图一步一步教如何用IB开发iOS应用,而讲Objective-C开发应用书却没有那么多...*bar = [[[UINavigationBar alloc] init] autorelease]; 对应Java版 UINavigationBar bar = UINavigationBar.alloc...Cocoa多任务、多窗口特性,在Cocoa Touch也是没有的(或者跟Cocoa不完全一样)。...常用控件:按钮、文本块、图片、输入框 TableView WebView 导航条 Xcode 运行 快捷键:Comman R 搜索 搜索文本 搜索文件 新建文件/目录 推荐在Finder中新建好添加进来...Xcode代码结构与操作系统上文件系统并不一致 推荐在Finder里建好目录再到XcodeProject Navigator中点击“Add Files to”添加到项目中 iPhone 5适配

3.8K60

iOS开发UINavigation系列二——UINavigationItem

iOS开发UINavigation系列二——UINavigationItem 一、引言         UINavigationItem是导航栏上用于管理导航项类,在上一篇博客,我们知道导航栏是通过...这篇博客,主要讨论UINavigationItem使用方法。 UINavigationBar:http://my.oschina.net/u/2340880/blog/527706。...二、来说说UINavigationItem         Item,从英文上来理解,它可以解释为一个项目,因此,item不是一个简单label标题,也不是一个简单button按钮,它是导航栏管理一个项目的抽象...通过下面的属性,可以给这个Item添加一个说明文字,这段文字会显示在item上方: item.prompt= @"我是navigationItem说明文字"; ?...三、关于UIBarButtonItem         一个UINavigationItem,还可以包含许多BarButtonItem,BarButtonItem是一系列按钮,会出现在导航栏左侧或者右侧

59320

iOS导航栏使用总结

; 1.全局设置 全局设置一般都是在AppDelegate设置,这样整个app都会生效,相关代码与效果图如下: //1.设置导航栏背景颜色 [[UINavigationBar appearance...iOS导航栏自带返回按钮形式单一,所以大多情况下,我们都需要自定义导航栏返回按钮。...,用于优化滑动类视图(继承于UIScrollView视图)在视图控制里显示: iOS系统导航栏UINavigationBar与标签栏UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器...UI布局进行优化:视图控制器里面第一个被添加进去视图是滑动类视图,并且其Frame是整个屏幕大小时,系统会自动调整其contenInset,以保证滑动视图里内容不被UINavigationBar与UITabBar...君不见,高堂明镜悲白发,朝青丝暮成雪。人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。"

3.1K20

iOS透明导航栏平滑过渡(进阶版)引实现过程结

设置导航栏背景透明度 导航栏上应该是有很多view,我们要做是只让背景透明,而保留标题、返回按钮。iOS没有直接给我们提供对于导航栏背景view访问途径,那么我们只能自己来找了。...,包括返回按钮,因为我没有给导航栏添加任何其他按钮,所以这里一定是返回按钮,下属 UILabel 就是 “返回” 两个字了。...现在导航栏透明就比较完美了: 对于这种将导航栏背景直接设为透明情况,在 Tabbar 切换界面时,也不会出现导航栏收起小动画: 为UIViewController添加导航栏透明度属性 为了方便...关联对象来做到,具体做法参看我这篇文章:传送门:iOSOC给Category添加属性,由于只能关联对象,所以我们无法直接添加 CGFloat 类型属性,我们就直接添加 NSString 类型属性就好了...这样每个 ViewController 都可以管理自己导航栏透明度,在这个新增属性setter方法,我们调用前面在在 UINavigationController Category 添加设置导航栏透明度方法

2.9K40

【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

; (2) Border Style 属性 Border Style 属性 : 设置文本框边框风格, 支持四种风格, 一般情况下是选择最右边圆角矩形按钮; (3) Clear Button 属性...[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)]; //将导航条添加到 UIView 布局 [self.view...; (4) 自定义键盘附件关闭虚拟键盘 自定义键盘附件 :  -- 作用 : 不是所有的应用都有导航栏, 在没有导航栏应用, 需要有键盘附件来关闭键盘; -- 1....[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)]; //将导航条添加到 UIView 布局 [self.view...[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)]; //将导航条添加到 UIView 布局 [self.view

6.4K20

【IOS开发基础系列】Navigation页面导航专题

view/open1390611231914.html 1 原理 1.1 navigationController         对于父级VC与子级VC分别有navigationController情况...http://www.tuicool.com/articles/BZNVza 2.3.2 回退按钮用图标+文字 Creating a left-arrow button (like UINavigationBar's...        最近iOS项目中要求导航栏返回按钮只保留那个箭头,去掉后边文字,在网上查了一些资料,最简单且没有副作用方法就是: [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment...        就是在导航向上添加一个titleView,可以使用一个label,再设置label背景颜色透明,字体什么设置就很简单了。.../article/details/29864339 UINavigationBar自定义返回按钮设置 http://blog.sina.com.cn/s/blog_bf9843bf0101g01b.html

30420

FANUC机器人PROFINET双通道板卡组态

,自动检测在线IO设备 6) 自动检测到设备GSD文件如在设备库,则点击箭头可将一个或多个检测到设备添加到配置区域 7) 依据机器人标准,修改要添加设备名称(名称字母必须为小写,...,点击向右箭头,添加右侧。...” 11) 点击工具栏保存按钮,保存项目 12) 点击工具栏下载配置按钮,将项目下载至机器人板卡 13) 在网络检测选项卡,点击“设备在线设置”按钮,弹出在线IO设备界面,在此界面可以显示在线IO...设备、将设备恢复出厂设置、给IO设备分配名称和IP地址、显示GSD库是否有所选IO设备、鉴别IO设备(有GSD情况下,通过Device Blinking按钮可使所选择IO设备通讯指示灯闪烁,方便查找...,按F2进行追加; 16) 依据IO设备命名标准,修改要添加IO设备名称; 17) 选择模块,按DISP键切换至右侧窗口,修改IP地址、IO插槽(即Slot号),IO设备名称和IP地址需与步骤13

2.3K70

iOS系统中导航栏转场解决方案与最佳实践

值得注意地方有两点: 第一个是 UINavigationController 作为 UINavigationBar 代理,在没有特殊需求情况下,不应该修改其代理方法,这里是通过符号断点获取它们调用顺序...对于第二种情况我们需要调用 UINavigationBar setBackgroundImage:forBarMetrics: 方法。...掌握了原理,我们来解释下刚才两种现象: 在第一种实现,我们提供 indicatorTransitionMaskImage 覆盖了整个返回按钮图标,所以我们在转场过程可以清晰看到返回按钮文字...,所以显然返回按钮文字会在图标的最右边就已经被遮挡住了,因为那片区域是透明。...解决方案2:在原有导航栏组件里添加 Fake Bar。 解决方案3:在导航栏转场过程添加 Fake Bar。 美团在实际开发过程采用了第三种方案,并给出了适合美团 App 最佳实践。

2.3K30

【新!超详细】Figma组件属性完全指南

如果您希望图标出现在按钮内,请将其切换为 ON (true)。如果没有,请将其切换为 OFF(假) 何时使用布尔属性? 布尔属性非常适合显示和隐藏图层。例如,对于带有和不带有图标的按钮。...例如,创建一个具有不同状态(启用、悬停和禁用)按钮。 还有一件事,如果你想使用交互式组件,你必须使用变体。 如何在 Figma 添加属性? 第一步,您需要创建一个组件。...例如,如果要创建按钮组件,则必须先完成按钮,然后单击顶部图标。 实例交换属性 要添加实例交换属性,请选择一个图层并单击右侧菜单图层名称附近图标。将此属性命名,例如“图标”,并设置默认值。...当您将其设置为 true 时,它默认显示;如果将其设置为 false,则默认情况下不会出现。 变体 您可以从右侧菜单添加变体。 首先,让我们创建一个变体组。...例如,如果要创建悬停按钮,请将其颜色从启用更改为悬停,并将其命名为悬停。您现在有一个包含两个变体变体组件集。 如何在 Figma 编辑属性?

10.4K22

iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

想要了解更多关于如何在代码定义一个导航栏信息,请参阅Navigation Controllers, UINavigationController Class Reference和 UINavigationBar...下图是iOS模拟器翻页样式: ? API注释 想要了解如何在代码定义图片视图,请参考Page View Controllers. 页面视图控制器: 带滚动条页面视图控制器没有默认外观。...默认情况下,竖屏方向时只会展示右侧窗格,因此你需要向用户提供一个按钮(通常位于导航栏上)来让用户唤起和隐藏主窗格。对分视图控制器也支持轻扫手势来执行呼出和隐藏动作。...分组表格视图中至少含有一组列表,而每一组至少包含一项内容。与平铺型不同,分组型表格没有索引。 ? 平铺型(Plain)。平铺型表格可被分为若干带标签段落,表格右侧可能会出现垂直表格索引。...Value 2布局,文本和副标题中间垂直间距会让用户专注于副标题第一 个单词。 ? 重要 以上四种单元格样式均支持添加表格视图元素,勾选或展开标志。

10.1K51

PyQt5编程扩展 3.2 资源文件使用②

,选择Open In Editor新建前缀前缀意思就是资源分组点Add Prefix显示如下将前缀改名为icons新建放资源文件目录原QtApp目录文件如下在这个目录下新建images文件夹将所有图标文件放到...images文件夹里面添加图标文件点Add Files添加如下几个图标文件点击上方×,关闭资源编辑器引用图标文件如果要在代码里面使用app.ico图标文件,其引用名称是:/icons/images/app.ico...使用图标文件回到窗体编辑器,点击“设置姓名”按钮在对应属性框中找到icon属性点击icon右侧输入框,点击右侧下拉箭头,然后点选择资源选择322.bmp当图标设好后,按钮就有图标了同样,为关闭按钮选择...代码如下:运行程序现在里面的按钮都是没有,注意看左上角图标设置应用程序图标增加如上红框内两段代码,运行程序,发现图标变了增加如下human相关代码年龄设置滚动条在Qt在Eric6添加代码设置姓名按钮在...Qt在Eric6添加代码自定义信号添加红色框中代码运行程序年龄设置点击年龄滚动条,可以看到下面两个框框内变化姓名设置关闭按钮点击关闭按钮,程序退出我正在参与2023腾讯技术创作特训营第三期有奖征文

14100

iOS16 适配指南(基于Xcode 14 Beta3)

新增 UIPasteControl 用于读取剪贴板内容,否则跨 App 读取时会弹出对话框让用户进行选择是否同意。...新增 LARightStore 用于存储与获取 keychain 数据。UIImage 增加了新构造函数用于支持 SF Symbols 最新版增加类别 Variable。...UINavigationItem 增加了一个属性style用于描述 UINavigationItem 在 UINavigationBar布局;增加了一个属性backAction用于实现当前 UIViewController...返回按钮事件;增加了一个属性titleMenuProvider用于给当前导航栏标题添加操作菜单。...UIMenu(title: "", preferredElementSize: .small, children: menuElements)隐私权限增强,通过 UIDevice 获取设备名称时,无法获取用户信息

6.4K50

iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

4.3.2 添加联系人按钮 添加联系人按钮让用户将现有联系人添加到文本框或者其它文字视图中。 ? API注释 想要了解如何在代码定义添加联系人按钮,请参考UIButton....添加联系人按钮: 展示联系人列表 帮助用户将一个联系人添加到当前联系人按钮所在视图中 使用添加联系人按钮让用户在不需要使用键盘情况下就可以方便地访问到联系人。...举个例子,你可以在文本框左侧或者右侧加入自定义图形,或者加入系统按钮书签按钮等。一般来说,文本框左侧用于表述文本框含义,而右侧用于展示附加功能,书签。...当文本框里没有任何其它提示文字时,会展示占位符文本(placeholder text),名字、地址等。 根据输入内容类型来指定不同键盘类型。...最好能设计出一种符合逻辑并始终保持一致过渡方式,让用户容易感知并且记忆。在没有充分理由支持情况下,最好不要改变这些默认过渡方式。

13.2K30

iOS纯代码创建UI控件使用weak还是strong

,而只要有subView,就会为其添加强引用,所以IB创建控件,一般是使用weak。...我们创建一个如同所示按钮,使用strong,然后对按钮属性进行设置: ?...运行结果如上,这里是没有添加到contentView,我们知道,当一个控件 addSubView 时候,会为其添加一个强引用,在这里,我们没添加到 self.View,发现 faceBtn 还是有内存地址...当我们使用weak时候,发现该控件未添加强引用情况下,地址也不为空: ? 但是,出了{ xxx } 作用域之后,强弱引用差别就出现了! ?...只能强行手动设置:btn = nil;所以个人建议:还是使用weak连接控件,只要我们在创建控件时候,在当前作用域 { xxx }添加到contentView上,就能为其添加强引用保证它不被销毁

1.4K40

iOS从Xib设置样式

而经过我测试发现在Xcode6.1和Xcode6.4下这个margin可能表现行为还不一样。 为了避免麻烦,还是不用margin约束比较好,如何在添加约束时不使用margin约束呢?...简单办法还是用快捷键,就是在drag后按option,显示约束就没有margin了。...添加第三方字体 把字体ttf文件像普通文件加入到项目中,在xib或storyboard中就可以直接使用新字体了 属性设置 但是很多属性设置 在xib是不能完全自定义,作为一个喜欢用xib这种方式码客来说...设置 添加一项后 一定要先设置Type,因为设置Type后其它会重置 设置圆角 Key Path Type Value layer.cornerRadius Number 2 layer.masksToBounds...Xcode 6以上支持一种新方法,特好用 其实就是为UIView添加扩展 或 继承 添加IBInspectable属性 既可以图形化设置某些属性 这样在右侧第四个选项卡神奇出现了自定义设置项

2.3K20
领券