【发布时间】:2014-04-16 09:19:42
【问题描述】:
我在恢复视图控制器的状态时遇到问题,其中hidesBottomBarWhenPushed=YES 被推送到 UINavigationController 中,该 UINavigationController 位于 UITabBarController 中。
发生的情况基本上是 UINavigationController 堆栈已恢复并且正确的控制器在屏幕上,但该控制器不尊重 hidesBottomBarWhenPushed。
我想出的唯一可行的技巧是 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 objective-c uikit