iOS - 如何让 backBarButtonItem 也执行自定义功能?

标签 ios backbarbuttonitem

我是一名 iOS 开发新手。我正在使用以下代码来设置我的 backBarButtonItem -

UIBarButtonItem *temporaryBarButtonItem=[[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title=@"Back";
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[temporaryBarButtonItem release];

除了返回之外,我还希望它执行另一个功能。那可能吗?或者我需要另一个按钮来保存吗?

最佳答案

您实际上可以在 viewDidDisappearviewWillDisappear 方法中执行此操作。

如果这个 View 只能返回并且不呈现任何 View ,那么这应该可以工作。

但是,如果您计划呈现 subview 、模态视图、深入导航层次结构或执行其他会导致调用 viewDidDisapper 的 View 操作,那么您需要将您的后退按钮代码逻辑不知何故。

例如,如果你要从这个 View 中呈现模态视图,你可以检查 self.modalViewController 是否为 nil,如果是,那么你没有模态视图存在并且可以安全地执行返回-按钮代码。如果它不是 nil 那么你有一个模态视图并且不应该执行后退按钮代码。 (viewWillDisappear 应该将模态视图 Controller 注册为 not-nil)。

关于iOS - 如何让 backBarButtonItem 也执行自定义功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812974/

相关文章:

ios - 如何在 UIAlertController 外部点击时关闭 UIAlertController?

ios - 修复 UIBarButtonItem 从主 Controller 变暗

ios - 自定义 BackBarButtonItem

xcode - 如何在 swift 中设置 Action backBarButtonItem?

ios - 在不使用导航 Controller 的情况下将不同的 View 链接到 tableview/viewcontroller

ios - iOS 框架的核心位置

ios - Objective-C - 无法在主线程上更新 UI

iOS/Beacons - 打开蓝牙时如何触发 didEnterRegion?

swift - 如何将导航栏后退按钮图像设置为默认符号?