相关疑难解决方法(0)

如何以编程方式删除在父类NIB文件中创建的选项卡栏项?

在我的iPhone应用程序中,我有一个公共标签栏,其中有三个标签,按下按钮后可以从多个视图中显示.我遵循的方法是Tweetie应用程序的工作流程,在Robert Conn的帖子中描述.

注意,主控制器是导航控制器; 标签栏放置在导航堆栈的视图控制器的NIB文件中,并且在委托的didSelectItem方法中处理在标签之间切换的效果.

@interface GameTabBarController : UIViewController<UITabBarDelegate> {
  UITabBar *tabBar;
  UITabBarItem *lastGameTabBarItem;
  UITabBarItem *previousGamesTabBarItem;
  UITabBarItem *myBetsTabBarItem;

  NSArray *viewControllers;
  UIViewController *currentViewController;
}

@implementation GameTabBarController
  ...

  - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    UIViewController *viewController = nil;

    // Get the view controller linked to the tab bar item pressed
    ...

    // Switch to the view
    [self.currentViewController.view removeFromSuperview];
    [self.view addSubview:viewController.view];
    self.currentViewController = viewController;
  }

  ...
@end
Run Code Online (Sandbox Code Playgroud)

由于必须根据应用程序来自的视图控制器来自定义选项卡栏的视图,因此我将其GameTabBarController作为具有该选项卡栏的NIB文件的父类.然后,我创建了几个子类:

@interface FirstGameTabBarController : GameTabBarController {
  ...   
}

@interface SecondGameTabBarController : …
Run Code Online (Sandbox Code Playgroud)

iphone nib uitabbaritem uitabbar ios4

14
推荐指数
3
解决办法
2万
查看次数

标签 统计

ios4 ×1

iphone ×1

nib ×1

uitabbar ×1

uitabbaritem ×1