gpt4 book ai didi

ios - 如何判断是否显示后退按钮?

转载 作者:可可西里 更新时间:2023-11-01 03:25:45 24 4
gpt4 key购买 nike

在 iOS 应用程序中,如何确定是否显示后退按钮?理想情况下,我想在 Controller 的 loadView 方法中了解这一点。

这是我在 loadViewviewDidLoadviewWillAppear 中尝试过的:

if (self.navigationItem.backBarButtonItem)

还有这个:

if (self.navigationItem.leftBarButtonItem)

这些都不起作用 - 它们始终为 nil(表达式的计算结果为 false),即使屏幕上有后退按钮也是如此。我最终想做的是将取消按钮设置为 self.navigationItem.leftBarButtonItem,但前提是没有后退按钮。如果有后退按钮,我们就不需要取消按钮。实际上,设置 leftBarButtonItem 会覆盖后退按钮,所以我们一直看到取消按钮 - 即使应该有后退按钮。

最佳答案

您向错误的对象询问其 backBarButtonItem。此属性控制对象在导航堆栈中位于“后退”项时的表示方式。

因此,您需要询问导航堆栈中下方 级别的 View Controller 它的backBarButtonItem 是什么:

int n = [self.navigationController.viewControllers count] - 2;
if (n >= 0)
if ([(UIViewController*)[self.navigationController.viewControllers objectAtIndex:n]navigationItem].backBarButtonItem == nil)
// Do your thing....

您可能需要在执行此代码时检查导航 Controller 是否已将您的 viewController 添加到堆栈中,顶 View Controller 可能仍然是之前的 View Controller 。我已 checkin viewWillAppear,此时堆栈确实包含新的顶部 Controller 。

关于ios - 如何判断是否显示后退按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7919762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com