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

目标c - 如何在后退按钮上显示viewController的较短名称

答案

在 iOS 中,可以通过设置 navigationItemleftBarButtonItemrightBarButtonItem 属性来更改导航栏上的按钮。为了在后退按钮上显示较短的 viewController 名称,可以将 leftBarButtonItem 设置为一个 UIButton,并在 viewDidLoad 方法中为其设置文本。

代码语言:swift
复制
class MyViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()

        let backButton = UIButton(type: .custom)
        backButton.setTitle("Back", for: .normal)
        backButton.addTarget(self, action: #selector(backButtonTapped), for: .touchUpInside)
        
        let viewControllerTitle = "My View Controller"
        
        let leftBarButtonItem = UIBarButtonItem(customView: backButton)
        leftBarButtonItem.title = viewControllerTitle
        
        navigationItem.leftBarButtonItem = leftBarButtonItem
    }
    
    @objc func backButtonTapped() {
        // Handle back button tap
    }
}

在此示例中,我们创建了一个 UIButton 实例,用于显示 "Back" 文本。然后将 leftBarButtonItem 设置为这个按钮,并将 viewControllerTitle 作为按钮的标题。这将使导航栏上的后退按钮显示所设置 viewController 的名称。

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

相关·内容

Cocoa编程中视图控制器与视图类详解

UIView是iPhone屏幕很多控件基础类。每个iPhone用户界面都是由显示UIWindow(这其实也是个特殊UIView)内众多UIView及其专门化子类构建。...推入时,新视图控制器从右方滑入屏幕(假定animated:YES)。向左指Back后退按钮出现,可返回到上一步,且Back按钮是上一个视图控制器标题。 2....;   提示:UIViewController 有一个属性是navigationController,如果当前ViewController某个NavigationController堆栈中 的话(即是被推送过来...其描述了导航栏显示内容,而正好UIViewController另有一导航项属性navigationItem包括左栏按钮(leftBarButtonItem)、右栏按钮(rightBarButtonItem...)和栏标题(title)、用于显示标题视图(titleView),以及用于从当前视图向后导航Back按钮(backBarButtonItem)和隐藏后退按钮(hidesBackButton)。

5.1K50
  • 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )

    Name 栏 设置 方法名称 ; b . Event 栏 设置 方法触发动作 ; c . Touch Up Inside 即 点击方法 ; d ....容器 中 ; 3.添加按钮 : 添加两个按钮 , 两个按钮功能分别是 生成 UIView 控件 和 清空 UIView 控件 ; ---- ( 3 ) ViewController.m...: Connect 对话框中 设置 名称 和 类型 , 然后点击 Connect 按钮 , 然后生成代码 ; 3.查看生成代码 : 点击 Connect 按钮后 , 会自动根据 类型 和...输入方法名称 , 选择控件类型 , 选择触发操作 , 选择传入参数 即可生成点击方法 ; // 一张 图片 - (IBAction)lastImage:(UIButton *)sender { }...进行下一步设置 ; 4.设置文件路径 : 弹出 对话框中 设置代码路径 , 这里直接使用默认值即可 ; 点击 Create 按钮 , 即可生成 对应 ViewController 代码

    3.9K40

    将模型添加到场景中 - 环境中显示3D内容

    本教程中,我们将学习如何检索模型并使用按钮触发器将其呈现在场景中。一旦显示,我们将隐藏焦点方块。...右侧,我们有ViewController.swift,在那里我们可以找到该出口声明。单击并拖动左侧圆圈,它应该是第15行,然后释放到ARSCNView。现在,关闭助理编辑。...添加按钮功能 我们刚刚在屏幕添加了按钮,但它根本没有做任何事情。当我们触摸它时,让按钮执行某些操作。现在,打开Assistant编辑器并控制将故事板中按钮拖到ViewController类。...我们刚刚完成了这个功能,现在,我们准备点击按钮时在场景中显示我们模型。...焦点方块隐藏/显示选项 当我们屏幕显示模型时,我们仍然看到焦点方块干扰了我们漂亮模型。如果我们安置后隐藏它,你怎么说?

    5.5K20

    【 iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

    Caculater ② 组织名称 han ③ 组织标识 cn.han ④ 所使用语言 Objective-C ④ 设备 iPhone ; 4.选择所在目录 : 选择一个目录, 注意 这个目录 是项目的上一级目录...; 4.加法按钮 : 点击按钮, 将用户 UITextField 输入字符串转为 int 类型, 相加, 将结果转为字符串显示 最后一个 UILabel 中; ---- ( 3 ) 界面编辑...ViewController.h 界面中按钮点击方法前圆圈 中, 此时圆圈会变成 , 此时**按住鼠标左键, 拖到按钮控件**, 此时按钮控件与点击方法就关联起来了; 4.解除按钮与点击方法关联...Button 按钮 : 从右侧对象库中 拖一个 Button 控件到 Main.storyboard 中; 2.设置按钮背景 : Button background 属性中设置图片名称...All rights reserved. // #import "ViewController.h" @interface ViewController () //定义要操作主要按钮, 即显示头像按钮

    4.9K30

    Xcode:处理故事板更好方式 享受Interface Builder提示和技巧

    您需要为每个ViewController分配storyboard ID,这很容易出错:每次要在代码中使用ViewController时都需要对此ID进行硬编码 如何在项目中连接不同故事板?...2.对storyboard文件和关联viewController子类使用相同名称。 这将简化命名约定,并在建议#3中为您提供一些好处。...当您想要按下按钮导航到下一个viewController时,只需为此按钮添加一个IBAction,并在代码中初始化此viewController:当您采用建议#3时,它实际是一行代码。...在这种情况下,从按钮拖动到“退出”出口是期望代码已经项目中。 通常,当您为按钮创建动作插座时,它会将代码放在拥有该按钮同一个类中。...对于Unwind Segues,您需要在目标视图控制器中编写代码。 prepareForUnwind方法所有缺点prepareForSegue方法(见前面的建议) 什么是更简单方法?

    1.4K30

    iOS开发系列——Storyboard

    到目前为止我们还没有解释我们程序是如何显示默认视图界面的。...那么如何在代码中读取两个TextField值并通过点击按钮触发相关事件验证登录合法性呢?...(Interface Builder中点击左下角“Show Document outline”显示控件结构树,选中相应控件按住Ctrl键拖拽到代码中属性或方法) e.gif 3....(Interface Builder中点击左下角Show Document outline显示控件结构树,选中相应控件右键拖拽到代码中属性或方法) 5.对于前面几种方法其实我们还可以直接从代码拖拽到控件上面...g.gif 如果要删除关联,可以采用第三、第四种方式控件右键,关联菜单中找到对应关联删除即可。

    3.3K40

    iOS中「回调(callback)」

    Objective-C中有4种途径可以实现回调: 1、Target-action/目标-动作对 先看代码: // 为按钮添加回调——Target-action/目标-动作对 // 第一个参数:发送消息给谁...可以翻译成这样的人话:MyCnetralManager委托ViewController做一件事——成功连接所有设备后,显示提示框。...如果有这个疑问,可以移步到我知乎回答问题:如何用简单明了的话解释一下什么是 Objective-C委托?或许可以解答你部分疑问。...;然后通告中心会转发通告出去;这时候监测该通告ViewController类收到通告后,就会执行相应代码(回调)」。...利用Block实现回调 下面,来看一下如何用Block实现回调(实现上面一样需求): MyCnetralManager.h文件 #import @

    3.5K30

    module & Swift库

    例如:当前test.m被编译成目标文件test.o时,当前目标文件就代表了一个module 这里有一个问题,module调用时候会产生开销,当使用一个静态库时:@import TestStaticFramework...将子module中导入头文件重新导出explicit:显示指明子module名称 官方文档 更多API可查看 官方文档 自定义module 搭建LGOCFramework项目 LGOCFramework...LGOCFramework,模块是framework 定义伞柄LGOCFramework.h 显示指明子module名称为LGTeacher,映射LGTeacher.h,将LGTeacher.h中导入头文件重新导出...显示指明子module名称为LGStudent,映射LGStudent.h,将LGStudent.h中导入头文件重新导出 项目编译后,LGOCFramework.framework中Modules...,Swift开始⽀持静态库 Swift没有头⽂件概念,外界如何使⽤Swift中public修饰类和函数?

    2.1K45

    iOS 无侵入埋点组件总结

    2.1 实现可视化埋点核心问题 封装埋点组件,降低耦合 如何实现后台配置唯一标识 埋点上报 2.2 针对第一个问题想到方案如下: 每个业务页面添加一个埋点类,单独将埋点方法提取到这个类中。...例如所有的按钮被点击时,都会触发 UIApplication sendAction 方法,我们 hook 这个方法,即可拦截所有按钮点击事件。...很容易想到就是使用目标 view到根之间每个节点深度(层次)组成一个路径,而节点深度(层次)是指此节点在父节点中 index。...这样确实能够唯一表示此 view 了,但是有一个缺点:它可读性很差。因此在此基础又增加了每个节点名称,节点名称由当前节点 view 类名来表示。同时开头都添加了一个页面名称作为标识。...因此, viewTree 中,由一个 view 到根节点之间每个节点名称与深度(层次)共同组成信息构成了此 view viewPath。

    2.9K31

    Mac开发之 Cocoa 绑定 入门

    ). 2.为什么使用绑定在日常开发中,我们为了项目代码更易于维护,会将程序代码划分为独立模块或封装类,其中最基础就是使用模型(M)-视图(V)-控制器(C)进行协调工作.然而,某些情况下,编写相互分离模型...Label显示内容是son属性score值 Main.storyboard中选中Label,然后选中Bindings Inspector标签,点击Values,勾选Bingd to为ViewController...,选择ViewController,ViewDidLoad中,添加代码 (8)ViewController添加代码 设置socre初始值 运行一下,你会发现并没有预想结果,如果你使用Objective-C...sonsocre值,ViewController中,添加下面的代码后看看结果吧....,简化了开发步骤,同时也减少了Bug可能. 3.2 绑定到控制器 刚刚例子中,我们将视图直接绑定在模型对象属性,跳过了控制器,这种情况对应简单使用没有问题,但绑定还有更多使用方式,也许你签名例子中已经注意到了

    1.9K20

    聊聊iOS开发之MVVM架构设计

    MVC/MVVM都是就是设计模式一种。 MVC架构中,Model持有数据,View显示与用户交互界面,而ViewController调解Model和View之间交互。...(ViewModel数据可以显示到View, View操作同样会引起ViewModel变化),降低了ViewModel和View耦合度。...*error))failure; @end 很明显viewModel仅仅只暴漏了视图控制器所必需最小量信息,设置readonly属性很有必要,同时,视图控制器C实际并不在乎 viewModel是如何获得这些信息...strong) id responseObject; /// 调起登录 - (void) login; 这样设计其实也合理ViewController登录按钮被点击时,调用viewModellogin...子ViewModel 我们必须明确:viewModel不必屏幕显示所有东西。

    8.8K92

    AppleCore ML3简介——为iPhone构建深度学习模型(附代码)

    请注意,我只编写了两行代码并拖拽训练数据到目标文件夹,其余部分都由CreateML负责! Turi Create可以Python中工作,而我们可以使用CreateMLMac构建程序。...我Xcode窗口中突出显示了三个主要区域: 左上角play按钮用于模拟器start the app 如果你看下面的play按钮,有文件和文件夹项目。这称为项目导航器。...它帮助我们项目的文件和文件夹之间导航 播放按钮旁边写着iPhone 11 Pro Max。这表示要测试模拟器目标设备 让我们先运行我们应用程序,看看会发生什么。...点击左上角播放按钮,模拟器就会运行。 你看到了什么? ? 目前,我们应用程序还做不了什么。它只显示一个图像和一个按钮来选择其他图像-让我们做得更好!...如果想选择其他模型的话,你可以尝试我们这里开发同一个应用程序使用SqueezeNet和MobileNet,看看不同模型是如何在相同图像运行

    2.1K20

    问题——持续更新

    :首先必须先清空 ASI封装两个问题: block   联想:C语言函数指针 函数指针声明: (首先要区分好变量名和数据类型) 拷贝、加括号、换名、加星号。...解决:实际就是视图上移; 实现搜索框功能 Landscape (left home button)     Landscape (right home button) 限制程序只能是竖屏显示...适配问题 怎么根据网络图片确定自己定义cell高度以及上面imageView大小 uilabel  文字置顶??...如何获取全屏图片用于上传   command+S 10.4 新加: 为ViewController添加导航控制器(xcode6中将自动设置为根视图控制器)?...标签和按钮设置圆角效果过程是不尽相同,按钮可以直接设置,而标签需要首先将masksToBounds 设置为YES .

    1.3K20

    Android开发之Activity创建跳转及传值

    iOS中ViewController也是有自己生命周期,了解Activity或者ViewController生命周期是很有必要,这要你才能搞明白什么时间做什么事情,关于iOS开发东西请详看之前博客...详细看一下如何去添加控件并监听控件事件。...intent.putExtra("extra_data", data); (3) Activity中我们需要获取传过来显示TextView,并且点击一个Back按钮返回到上一层Activity...因为我们传入值是String类型所以用getStringExtra(), 不同类型值对应着不同方法。然后把获取显示TextView。之后点击Button返回。...Activity中TextView显示ThirdActivity中返回值,具体效果如下所示。

    3.2K100

    iOS开发--一步步教你彻底学会『iOS应用间相互跳转』

    内容分享,跳转到分享App对应页面,如分享给微信好友、分享给微信朋友圈、分享到微博。 显示位置、地图导航,跳转到地图应用。...那么我们如何实现应用间相互跳转呢?先来看下原理。 3. 应用间相互跳转实现原理 iOS中打开一个应用程序只需要拿到这个应用程序协议头即可,所以我们只需配置应用程序协议头即可。...,那么相同模拟器中先后运行App-B、App-A,点击按钮,就可以实现跳转了。...添加LSApplicationQueriesSchemes数组,然后添加键值为AppB字符串 添加白名单之后相同模拟器中先后运行App-B、App-A,点击按钮,就可以实现跳转了。...比如我们浏览网页时,会有分享到微信朋友圈或是分享给微信朋友,这就需要跳转到微信朋友圈界面或是微信朋友选择界面。 具体如何做呢? 首先我们先来为App-B搭建两个页面Page1和Page2。

    1.3K30
    领券