1
在某些時候我需要一個tabBar控制器,而不是導航控制器。爲了達到這個目的,我發佈了導航控制器,並在窗口中添加了一個標籤欄。刪除窗口層級導航或標籤欄控制器
是否將UINavigationcontroller從窗口層次結構中刪除?
在某些時候我需要一個tabBar控制器,而不是導航控制器。爲了達到這個目的,我發佈了導航控制器,並在窗口中添加了一個標籤欄。刪除窗口層級導航或標籤欄控制器
是否將UINavigationcontroller從窗口層次結構中刪除?
我知道你想從導航控制器切換到TabBar控制器並返回,但是你擔心一旦被移除,你將無法恢復它。
顯而易見的解決方案不是去除它們,而是隱藏它們。以下是TabBar控制器的示例,它只是將y點從431移動到480,因此它會出現在視圖之外並返回。
- (void) hidetabbar:(BOOL)hiddenTabBar {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in self.uiTabBarController.view.subviews){
if([view isKindOfClass:[UITabBar class]]) {
if (hiddenTabBar) {
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
} else {
if (hiddenTabBar) {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
}
[UIView commitAnimations];
}
您可以對導航控制器完全相同。
@ jano-謝謝你救了我的一天 – iOSPawan 2011-04-28 12:33:35
你是否將你的tabBar分配給window.rootViewController? – Cyprian 2011-04-28 09:29:53