【发布时间】:2010-05-06 12:31:36
【问题描述】:
我正在使用一些没有标签栏的 xib 和一些带有标签栏的 xib。
在开始时,我加载没有标签栏导航栏的 xib,然后流程正在工作。但是,如果我加载带有标签栏导航栏的 xib,那么我们的所有视图滑动波纹管和半标签栏都不会显示。请任何人帮助我尽快。
拜托了!!!!!!
【问题讨论】:
标签: iphone objective-c
我正在使用一些没有标签栏的 xib 和一些带有标签栏的 xib。
在开始时,我加载没有标签栏导航栏的 xib,然后流程正在工作。但是,如果我加载带有标签栏导航栏的 xib,那么我们的所有视图滑动波纹管和半标签栏都不会显示。请任何人帮助我尽快。
拜托了!!!!!!
【问题讨论】:
标签: iphone objective-c
您是在加载标签栏控制器还是仅加载一个标签栏?是否在使用导航控制器推送视图后立即发生?如果是这样,我也遇到了同样的情况(link here),我一直无法修复它。我认为这是 Apple 不支持且不推荐的东西,您可以在 NavigationController 类参考中找到它:
我所做的是将单个标签栏(不是标签栏控制器)添加到正在推送的视图中,然后以编程方式对其进行配置。您可以在这里 (http://discussions.apple.com/thread.jspa?threadID=2099944&tstart=0) 找到一个非常好的示例,但应该是这样的:
- (void)activateTab:(int)index {
switch (index) {
case 1:
if (tab1ViewController == nil) {
self.tab1ViewController =
[[Tab1ViewController alloc] initWithNibName:@"Tab1View" bundle:nil];
}
[self.view addSubview:tab1ViewController.view];
if (currentViewController != nil)
[currentViewController.view removeFromSuperview];
currentViewController = tab1ViewController;
break;
case 2:
if (tab2ViewController == nil) {
self.tab2ViewController =
[[Tab2ViewController alloc] initWithNibName:@"Tab2View" bundle:nil];
}
[self.view addSubview:tab2ViewController.view];
if (currentViewController != nil)
[currentViewController.view removeFromSuperview];
currentViewController = tab2ViewController;
break;
default:
break;
}
}
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
[self activateTab:item.tag];
}
- (void)viewDidLoad {
[super viewDidLoad];
[myTabBar setSelectedItem:[myTabBar.items objectAtIndex:0]];
[self activateTab:1];
}
当然,您还需要声明您的标签栏以及此处使用的三个视图控制器(tab1ViewController、tab2ViewController 和 currentVideoController)。
你没有提供太多细节,但我希望这可以帮助一点。
【讨论】: