gpt4 book ai didi

iphone - 当有人隐藏/显示选项卡栏时是否有任何选项卡栏事件用于通知?

转载 作者:行者123 更新时间:2023-12-03 18:42:31 26 4
gpt4 key购买 nike

我在我创建的选项卡栏 Controller 的自定义子类中有一个导航 Controller 。

每当显示的 Controller 之一尝试隐藏或显示选项卡栏时,我想从(自定义)选项卡栏内了解情况。 (例如,将具有 hidesBottomBarWhenPushed=YES 的 VC 推送到 Nac Controller 时)。

简而言之,我希望收到隐藏/显示选项卡栏的事件通知,但在 Apple 的引用资料中找不到任何内容。我尝试查看 UITabBar、UITabBarDelegate、UITabBarController 和 UITabBarControllerDelegate,但似乎都只提供与选项卡栏项目相关的功能。

提前致谢。

最佳答案

如果您使用标签栏 Controller ,UIKit 会明确声明将在标签栏 Controller 上下文中显示的每个导航 Controller 实例都将位于其 viewControllers 属性中。现在,每个 UINavigationController 实例都有一个委托(delegate),它定义了一个 navigationController:willShowViewController:animated: 方法,让您知道何时将 View Controller 推送到它上面。

通过将标签栏 Controller 设置为推送到其上的每个导航 Controller 的委托(delegate),您可以分析被推送的 View Controller 是否设置了 hidesBottomBarWhenPushed 属性,并在设置时生成事件案例。

用于隐藏标签栏 Controller 标签栏的算法如下:当将 View Controller 推送到本身包含在标签栏 Controller 中的导航 Controller 时,如果导航 Controller 的导航堆栈中存在任何 View Controller 设置了 hidesBottomBarWhenPushed 属性,则应隐藏选项卡栏。

因此,当选择导航 Controller 并且其堆栈中的 View Controller 之一设置了 hidesBottomBarWhenPushed 属性时,选项卡栏会隐藏。

关于iphone - 当有人隐藏/显示选项卡栏时是否有任何选项卡栏事件用于通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4563299/

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