- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在将 hidesBottomBarWhenPushed=YES
推送到位于 UITabBarController 中的 UINavigationController 中恢复 View Controller 的状态时遇到问题。
基本上 UINavigationController 堆栈已恢复并且正确的 Controller 出现在屏幕上,但是该 Controller 不遵守 hidesBottomBarWhenPushed。
我想到的唯一可行的 hack 是 viewDidAppear 上的快速选项卡开关,使 TabBar 消失,因为它应该在 hidesBottomBarWhenPushed 设置时发生:
- (void)_fixTabBarStateRestorationBug {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSInteger currentTab = (NSInteger)self.tabBarController.selectedIndex;
self.tabBarController.selectedIndex = abs(currentTab - 1);
self.tabBarController.selectedIndex = currentTab;
});
}
最佳答案
这绝对是一个 iOS 错误。上面的解决方案对我来说不是开箱即用的,但是如果你把它放在标签栏 Controller 的 viewDidAppear
方法中就可以了:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSInteger currentTab = (NSInteger)self.tabBarController.selectedIndex;
self.tabBarController.selectedIndex = abs(currentTab - 1);
self.tabBarController.selectedIndex = currentTab;
});
如果您将它放在选项卡中 View Controller 的 View Controller viewDidAppear
中,您将创建一个无限循环。为此,请使用问题中提到的一次性标记方法。
关于ios - 当状态恢复时 hidesBottomBarWhenPushed = YES 时,导航 Controller 不隐藏标签栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23105057/
我正在像这样插入 viewControllers: let editProfileViewController = EditProfileViewController() editProfileVie
我有一个设置对话框,我想要全屏显示并覆盖屏幕底部的选项卡栏。我用了this SO answer并将 HidesBottomBarWhenPushed 添加到我的 View Controller ,它确
我的应用程序中有一个 UITabBar,我通过将此行放在 AppDelegate: // ... in MyAppDelegate.m firstViewController.hidesBottomB
我有一个 UINavigationController,其中 Root View 不通过 显示顶部导航栏 [[self navigationController] setNavigationBarHi
我想为 mya 应用程序构建一个自定义标签栏,但有一个小问题:内置 tabBar 支持 hidesBottomBarWhenPushed。有没有办法告诉我的应用程序我的 CustomTabBar 是底
我的应用程序包含 UISplitViewController,主视图中有 2 个 UITabBarController。我的第二个 UITabBarController 启用了“按下时隐藏底部栏”选项
我正在实现基于 iAdSuite 中的 TabbedBanner 示例的设计。我在第一个选项卡中有一个 UINavigationController。在那个 UINavigationControlle
我有一个使用 Tabbar 进行基本导航的应用程序。我想从 Tabbar 的一个屏幕进入另一个显示工具栏而不是 Tabbar 的屏幕和顶部的后退导航项。 最好的方法是什么?如果我使用“Hide Bot
我在使用 -hidesBottomBarWhenPushed 时遇到了奇怪的 View Controller 问题属性(property)。这是一个仅限 iOS 7 的项目。使用 Xcode 5.wh
我有一个带有标签栏和导航栏的应用。 我有一个 BaseVC 和一个 DetailVC。我正在从 BaseVC 中推送 DetailVC。我希望标签栏位于推送的 VC DetailVC 下。我正在使用
我为我的一个 UIViewController(称为 ViewControllerA)设置了 hidesBottomBarWhenPushed = true,它被推送到我的 UINavigationC
所以我这里发生了一些非常奇怪的事情,并且无法完全说出我的数字。基本上,我有一个包含两个 subview 的 View :一个是 Web View ,另一个是按钮 Controller 请参阅此处的错误
我在使用 hidesBottomBarWhenPushed 时遇到了麻烦...我将按顺序将三个 Controller - A、B 和 C - 插入导航 Controller ,我想在显示 B 时隐藏底
我正在开发一个应用程序,它的 View 层次结构与 Apple 的 Music 或 iPod aps 非常相似。它有一个 UITabBarController,其中包含 UINavigationCon
此代码在 iOS 7 发布之前一直运行良好。我正在分配一个 UIViewController,hidesBottomBarWhenPushed 为 YES,作为 UINavigationControl
我正在使用 Tito 的代码片段将自定义按钮添加到我的标签栏: https://github.com/tciuro/CustomTabBar (子类化 UITabbarController 并使用添加
当推送另一个 View Controller 时,我得到了一个非常奇怪的动画行为,该 View Controller 的底部栏被 hidesBottomBarWhenPushed 隐藏了。我发现的第一
我有一个我认为相当常见的设置,但我看到了一个非常奇怪的动画问题。 标签栏内有一个导航 Controller 。如果我按下那个导航 Controller ,我仍然可以在推送动画期间在导航栏中看到前一个
我有以下设置: 标签栏应用程序。在一个选项卡上有一个导航 Controller 。 我的工作流程: 当我将新的 viewController 推送到导航 Controller 堆栈时,我设置了 hid
我正在按照有关如何创建带有中心按钮(如路径、Instagram 等)的选项卡栏的示例,从这里开始:http://idevrecipes.com/2010/12/16/raised-center-tab
我是一名优秀的程序员,十分优秀!