实现一个简单的后退按钮swift ios

Posted

技术标签:

【中文标题】实现一个简单的后退按钮swift ios【英文标题】:implement a simple back button swift ios 【发布时间】:2016-02-12 22:08:52 【问题描述】:

我在场景中直接放置了一个导航栏。在他的我有一个导航项目。我可以成功更改它的标题。

现在我想要一个后退按钮出现 - 我目前不需要任何自定义,只需能够捕捉点击和默认 ios 查找应用程序正在运行的任何平台(因为 Swift 是 ios7+)。

viewDidLoad() 我已经写了

outletCatalogNavItem.backBarButtonItem = UIBarButtonItem(title: "test", style .plain, target: self, action: "ownbackNavigationFuncCode");

*ViewDidAppear()* outletCatalogNavItem.backBarButtonItem 中是非零

注意:我没有在我的情节提要中跨场景使用任何共享导航控件 - 也不想在这一点上使用,因为我正在从另一种工具/语言中移植一个应用程序,该工具/语言具有自己的导航/堆栈已经有逻辑(意味着我自己在代码中处理切换和导航)

【问题讨论】:

如果您没有使用 UINavigationController,那么您需要设置 leftBarButtonItem 而不是 backBarButtonItem,因为后者由 UINavigationController 使用 这似乎可以工作,尽管文本在左侧太多以至于其中一些不可见(半个字符) - 有什么办法可以确保后退按钮看起来是原生的,例如总有一天 ios10 看起来和 ios7-9 不一样? 使用 UINavigationController :) 但如果文本不在屏幕上,那么我会检查您已应用于 UINavigationBar 的约束。它应该都在屏幕上 我想我需要的是那个后退箭头“ 约束是标准的 -20 左 -20 右 【参考方案1】:

将您的视图控制器嵌入UINavigationController。当你 push/segue 到一个新的视图控制器时,你正在寻找的 < Back 按钮将出现在左侧。

【讨论】:

【参考方案2】:
let backItem = UIBarButtonItem()
backItem.title = "Back"
navigationItem.backBarButtonItem = backItem

【讨论】:

以上是关于实现一个简单的后退按钮swift ios的主要内容,如果未能解决你的问题,请参考以下文章

Swift 2 中的 segue 没有后退按钮

IBM Worklight - 实现自定义后退/前进按钮

使用 Swift 4 关闭 iOS 中的所有模式

Swift:单击后退按钮后错过标签栏

在swift 4下更改导航控制器后退按钮的字体

iOS Swift WebView 问题