gpt4 book ai didi

ios - 当我折叠/展开屏幕时,displayModeButtonItem 消失了

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

所以我的用例是在详细 View 中有一个 TabBarController,大约四个选项卡,每个选项卡都有自己的 NavigationController。都是通过 Storyboard。然后在我的 App Delegate 上我有这个:

let splitViewController = self.window!.rootViewController as! UISplitViewController
splitViewController.preferredDisplayMode = .allVisible
let tabBarController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UITabBarController
for item in tabBarController.viewControllers!{
let navigationController = item as! UINavigationController
navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
}

所以我在每个 NavigationController 上都有一个 Button。问题是起初当我使用第一个选项卡上的按钮时,它工作正常,但是一旦我移动选项卡,当我返回到前一个选项卡并使用该按钮时,它就会消失。然后,当我切换到另一个选项卡时,它会返回。令人惊讶的是,这不会发生在最后一个选项卡上。我试图寻找解决方案,但找不到任何解决方案。所以我现在处于低迷状态。

我添加了一个 gif 来显示该行为。

enter image description here

编辑:我不知道这是否重要,但该项目仅限景观。

最佳答案

如果有人想知道,我会根据 Apple 的官方支持添加一个答案作为附加信息:

“UISplitViewController 的displayModeButtonItem 一次只能驻留在 View 层次结构中的一个地方,不能驻留在多个地方或多个 View Controller 。当前你将它指向标签栏中的所有 View Controller 。正如我们所见,这样做会产生不可预测的结果。”

接受的答案虽然是一个相当棘手的解决方法,但有效。不过,Apple 的支持建议是在 TabBarController 级别对其进行处理。

关于ios - 当我折叠/展开屏幕时,displayModeButtonItem 消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51434902/

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