gpt4 book ai didi

ios - 如何为特定的 UIViewController 设置默认返回 UINavigationItem?

转载 作者:行者123 更新时间:2023-11-30 13:50:18 25 4
gpt4 key购买 nike

我有一个 UIViewController,它根据上下文显示不同:

  • 作为 UINavigationController 的第一个 Controller (无后导航栏)
  • 作为 UINavigationController 的顶部 Controller (后导航栏)
  • 作为两个 UISplitViewController Controller 之一

但我需要一个与默认图标不同的图标。为了避免每次都检查上下文并分配它,我想向 Controller 展示它的样子,并在需要时自行分配它。

这可能吗?如果是这样,我该怎么办?

最佳答案

您可以使用一些 UIViewController 属性来确定 View Controller 在 View Controller 层次结构中的位置。特别是这两个是 splitViewControllernavigationController

splitViewController 返回 View Controller 层次结构中最近的 UISplitViewController 祖先。如果没有,则该属性为nil

navigationController 本质上与 splitViewController 相同。它返回 View Controller 层次结构中最近的 UINavigationController 祖先,如果不存在,则为 nil

以下是确定 View Controller 处于 3 个场景中的哪一个的方法(假设没有其他场景):

if let splitVC = viewController.splitViewController {
// split view controller scenario
} else if let navigationVC = viewController.navigationController {

if navigationVC.viewControllers[0] == viewController {
// first controller scenario (no back button)
} else if navigationVC.topViewController == viewController {
// top controller scenario (back button)
}

}

关于ios - 如何为特定的 UIViewController 设置默认返回 UINavigationItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379231/

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