我的模态视图控制器没有出现在屏幕上。 UITabbar +导航应用

时间:2011-11-28 09:11:41

标签: ios uinavigationcontroller uitabbarcontroller

UITabbar +导航应用。我的模态控制器没有出现在屏幕上。有什么问题?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  self.window.rootViewController = self.tabBarController;

  if (isLoginScreenNeeded)
   {    
    LoginModalViewController *controller = [[[LoginModalViewController alloc] initWithNibName:@"LoginModal" bundle:[NSBundle mainBundle]] autorelease];

    UINavigationController *controllerNav = [[[UINavigationController alloc] initWithRootViewController:controller] autorelease];
    [self.window.rootViewController presentModalViewController:controllerNav animated:NO];
    }

  [self.window makeKeyAndVisible];
  return YES;
}
编辑:@Zoleas,我更新了我的代码。如果我将删除[self.window makeKeyAndVisible]; - 有用。但我不明白为什么我需要删除self.window makeKeyAndVisible];

4 个答案:

答案 0 :(得分:1)

只需从第parentViewController

中删除[self.window.rootViewController.parentViewController presentModalViewController:controllerNav animated:NO];即可

UITabBarControllerrootViewController所以它可能没有parentViewController

答案 1 :(得分:0)

将main.xib文件视图映射到rootViewcontrollers视图..然后它将起作用

答案 2 :(得分:0)

使用以下代码进行映射

[map from:kAppViewController toModalViewController:[controller class]];

答案 3 :(得分:0)

我发现makeKeyAndVisible从父级移除了模态视图,因此删除了行[self.window makeKeyAndVisible]; 或者你可以把它移到顶部。