【问题标题】:Removing Tab bar on Push view删除推送视图上的标签栏
【发布时间】:2013-03-01 13:07:26
【问题描述】:

我在应用委托中添加了标签栏。当我从我的一个视图中推送视图时,标签栏被删除了。我也想要推送视图上的标签栏。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    AudioViewController * audioViewController = [[AudioViewController alloc] initWithNibName:@"AudioViewController" bundle:nil];
    audioViewController.title = @"audio";
    audioViewController.tabBarItem.image=[UIImage imageNamed:@"audio 30x30.png"];

    ViewController *videoViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    videoViewController.title = @"video";
    videoViewController.tabBarItem.image=[UIImage imageNamed:@"video 30x30.png"];   

    ViewController *aboutViewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
    aboutViewController.title = @"about";
    aboutViewController.tabBarItem.image=[UIImage imageNamed:@"about1_iPhone.png"];

    ViewController *infoViewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
    infoViewController.title = @"info";
    infoViewController.tabBarItem.image=[UIImage imageNamed:@"info 30x30.png"];

    PlaylistViewController *PlaylistViewControllerObj = [[PlaylistViewController alloc]initWithNibName:@"PlaylistViewController" bundle:nil];
    PlaylistViewControllerObj.title = @"Playlist";
    PlaylistViewControllerObj.tabBarItem.image=[UIImage imageNamed:@"ko.png"];

    NSArray *viewControllerArray = [NSArray arrayWithObjects:audioViewController,videoViewController,aboutViewController,infoViewController,PlaylistViewControllerObj,nil];

    UITabBarController * myTabbarController = [[UITabBarController alloc] init];
    [myTabbarController setViewControllers:viewControllerArray];
    navigationControllerObj = [[UINavigationController alloc] initWithRootViewController:myTabbarController];
    [navigationControllerObj setNavigationBarHidden:YES animated:NO];
    self.window.rootViewController =navigationControllerObj;
}

【问题讨论】:

    标签: iphone ios ios5 ios6


    【解决方案1】:

    UIViewController *viewController1, *viewController2, *viewController3 , *viewController4 , *viewController5 ;

    viewController1 = [[Homeviewcontroller alloc] initWithNibName:nil bundle:nil];
    viewController2 = [[NearbyViewController alloc] initWithNibName:nil bundle:nil];
    viewController3 = [[SearchViewController alloc] initWithNibName:nil bundle:nil];
    viewController4 = [[FavoritiesViewController alloc] initWithNibName:nil bundle:nil];
    viewController5 = [[MoreViewController alloc] initWithNibName:nil bundle:nil];
    
     UINavigationController *homeNavi=[[UINavigationController alloc]initWithRootViewController:viewController1];
    
     UINavigationController *SearchNavi=[[UINavigationController alloc]initWithRootViewController:viewController3];
    
     UINavigationController *NearbyNavi=[[UINavigationController alloc]initWithRootViewController:viewController2];
    
     UINavigationController *FavNavi=[[UINavigationController alloc]initWithRootViewController:viewController4];
    
     UINavigationController *MoreNavi=[[UINavigationController alloc]initWithRootViewController:viewController5];
    
     TabbarController = [[UITabBarController alloc] init];
    
     TabbarController.viewControllers = [NSArray arrayWithObjects:homeNavi,SearchNavi,NearbyNavi,FavNavi,MoreNavi, nil];
    
    
    
    [self presentModalViewController:TabbarController animated:YES];
    

    【讨论】:

      【解决方案2】:

      检查您正在推送的UIViewController 中此属性的值

      @property(nonatomic) BOOL hidesBottomBarWhenPushed
      

      【讨论】:

        【解决方案3】:

        试试这个示例代码

        - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
        
        AudioViewController * audioViewController = [[AudioViewController alloc] initWithNibName:@"AudioViewController" bundle:nil];
        audioViewController.title = @"audio";
        audioViewController.tabBarItem.image=[UIImage imageNamed:@"audio 30x30.png"];
        
        
        UINavigationController *navaudioViewController = [[UINavigationController alloc] initWithRootViewController:audioViewController];
        
        PlaylistViewController *PlaylistViewControllerObj = [[PlaylistViewController alloc]initWithNibName:@"PlaylistViewController" bundle:nil];
        PlaylistViewControllerObj.title = @"Playlist";
        PlaylistViewControllerObj.tabBarItem.image=[UIImage imageNamed:@"ko.png"];
        
        UINavigationController *navPlaylistView = [[UINavigationController alloc] initWithRootViewController:PlaylistViewControllerObj];
        
        UITabBarController * myTabbarController = [[UITabBarController alloc] init];
        myTabbarController.viewControllers = @[navHomeController,navPlaylistView];
        self.window.rootViewController = myTabbarController;
        [self.window makeKeyAndVisible];
        return YES;
         }
        

        【讨论】:

          【解决方案4】:

          使用此代码

          调用这个方法,UITabBar在哪里展示

          在.h中,

          @property (strong, nonatomic) UINavigationController *navigation; @property(nonatomic, strong) UITabBarController *tabbarcontroller;

          在.m,

          -(void)loadtabview {

          self.tabbarcontroller = [[UITabBarController alloc] init];
          NSMutableArray *localControllersArray = [[NSMutableArray alloc] initWithCapacity:4];
          self.firstViewController = [[FirstViewController alloc]initWithNibName:@"firstViewController" bundle:nil];
          navigation = [[UINavigationController alloc] initWithRootViewController:self.firstViewController];
          self.viewController.navigationItem.title=@"First";
          [localControllersArray addObject:navigation];
          
          
          self.secondViewController = [[secondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
          navigation = [[UINavigationController alloc] initWithRootViewController:secondViewController];
          self.secondViewController.navigationItem.title=@"second";
          [localControllersArray addObject:navigation];
          
          
          self.ThirdViewController = [[Third ViewController alloc]initWithNibName:@"Third ViewController" bundle:nil];
          navigation = [[UINavigationController alloc] initWithRootViewController:ThirdViewController];
          self.secondViewController.navigationItem.title=@"Third";
          [localControllersArray addObject:navigation];
          
          tabbarcontroller.viewControllers = localControllersArray;
          self.tabbarcontroller.delegate = self;
          [self.tabbarcontroller setSelectedIndex:0];
          [self.window addSubview:tabbarcontroller.view];
          

          }

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-11-07
            • 1970-01-01
            • 1970-01-01
            • 2015-01-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-31
            相关资源
            最近更新 更多