标签栏未显示或屏幕无法识别触摸

时间:2012-04-13 12:40:48

标签: objective-c xcode ios5

我将此代码用于标签栏,但标签栏未显示

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{


    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    UITabBarController *tabController = [[UITabBarController alloc] init];

    UIViewController *viewController1 = [[UIViewController alloc] init];

    UIViewController *viewController2 = [[UIViewController alloc] init];

    UIViewController *viewController3 = [[UIViewController alloc] init];

    UIViewController *viewController4 = [[UIViewController alloc] init];

    tabController.viewControllers = [NSArray arrayWithObjects:viewController1,
                                     viewController2,
                                     viewController3,
                                     viewController4, nil];

    self.window.rootViewController = tabController;



    UIViewController *rootController = 
    [[xTableViewController alloc] 
     initWithNibName:@"xTableViewController" bundle:nil];

    navigationController = [[UINavigationController alloc]
                            initWithRootViewController:rootController];


    self.window = [[UIWindow alloc] 
                   initWithFrame:[[UIScreen mainScreen] bounds]];
    [self.window addSubview:navigationController.view];


    [self.window makeKeyAndVisible];
    return YES;
}

当我删除此行时:

self.window = [[UIWindow alloc] 
                       initWithFrame:[[UIScreen mainScreen] bounds]];

tabbar show up,但我无法'触摸'我的屏幕(我无法触摸我的屏幕,但tabbar是'可触摸的',因为没有任何工作,有没有人知道如何以正常的方式显示tabbar?

1 个答案:

答案 0 :(得分:0)

好像你正在初始化窗口两次。首先使用UITabbarContorller,然后使用UINavigationController。尝试

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    UITabBarController *tabController = [[UITabBarController alloc] init];
    UIViewController *viewController1 = [[UIViewController alloc] init];
    UIViewController *viewController2 = [[UIViewController alloc] init];
    UIViewController *viewController3 = [[UIViewController alloc] init];
    UIViewController *viewController4 = [[UIViewController alloc] init];
    tabController.viewControllers = [NSArray arrayWithObjects:viewController1,
                                 viewController2,
                                 viewController3,
                                 viewController4, nil];

    self.window.rootViewController = tabController;
    [self.window makeKeyAndVisible];
    return YES;
}