2个子视图到窗口?

时间:2010-09-21 20:15:46

标签: iphone objective-c xcode

我在我的appdelegate上有这个:

第一个应用

   - (void)applicationDidFinishLaunching:(UIApplication *)application {    

   [window addSubview:rootController.view];
   [window makeKeyAndVisible];
  }

这将显示我的应用的导航和标签显示。

好吧没问题。

接下来我从另一个应用程序中获取此信息:

   - (void) applicationDidFinishLaunching:(UIApplication *)application {    
      _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

     MainViewController *_mainViewController = [[MainViewController alloc] init];
      UINavigationController *_navigationController = [[UINavigationController alloc] initWithRootViewController:_mainViewController];

     [_window addSubview:_navigationController.view];
       [_window makeKeyAndVisible];
       }

也可以。

现在,我如何将所有这些功能都包含在我的第一个应用程序中?我想将它用于我的一个标签选项。

我试过了:

 - (void)applicationDidFinishLaunching:(UIApplication *)application {    

    Tab4 *_mainViewController = [[Tab4 alloc] init];
    UINavigationController *_navigationController = [[UINavigationController alloc] initWithRootViewController:_mainViewController];

    [window addSubview:_navigationController.view];
[window addSubview:rootController.view];
[window makeKeyAndVisible];

}

将两者结合起来。没有编译错误,但程序无法正常工作。 我在某处弄错了并且卡住了。是否有可能有2个subivew? 任何帮助是极大的赞赏。 THKS。

我在我的标签栏中嵌入了一个导航控制器。 但这样做是否会完全“替换”代码?

      _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

     MainViewController *_mainViewController = [[MainViewController alloc] init];
      UINavigationController *_navigationController = [[UINavigationController alloc] initWithRootViewController:_mainViewController];

     [_window addSubview:_navigationController.view];
       [_window makeKeyAndVisible];

标签视图加载正常,但无法接收通知。 THKS

2 个答案:

答案 0 :(得分:2)

您的TabBarController应该是窗口的唯一子视图,窗口应该只有1个子视图。将导航控制器包含在其中一个选项卡中。无法在导航控制器内部使用TBC Here是一个简单的教程,向您展示如何将导航控制器添加到选项卡。此外,您应该read the Apple Documentation on Tab Bars

答案 1 :(得分:0)

任何视图都可以有0 .. n个子视图,包含主窗口。 这两个子视图的框架是什么?也许一个人只是坐在另一个上面,因此是隐藏的。