【问题标题】:View Loading Problem查看加载问题
【发布时间】:2010-05-06 12:31:36
【问题描述】:

我正在使用一些没有标签栏的 xib 和一些带有标签栏的 xib。

在开始时,我加载没有标签栏导航栏的 xib,然后流程正在工作。但是,如果我加载带有标签栏导航栏的 xib,那么我们的所有视图滑动波纹管和半标签栏都不会显示。请任何人帮助我尽快。

拜托了!!!!!!

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    您是在加载标签栏控制器还是仅加载一个标签栏?是否在使用导航控制器推送视图后立即发生?如果是这样,我也遇到了同样的情况(link here),我一直无法修复它。我认为这是 Apple 不支持且不推荐的东西,您可以在 NavigationController 类参考中找到它:

    • viewController:被压入堆栈的视图控制器。 此对象不能是标签栏控制器的实例,并且不能已经在导航堆栈中。

    我所做的是将单个标签栏(不是标签栏控制器)添加到正在推送的视图中,然后以编程方式对其进行配置。您可以在这里 (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)。

    你没有提供太多细节,但我希望这可以帮助一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-18
      • 1970-01-01
      相关资源
      最近更新 更多