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];
答案 0 :(得分:1)
只需从第parentViewController
行
[self.window.rootViewController.parentViewController presentModalViewController:controllerNav animated:NO];
即可
UITabBarController
是rootViewController
所以它可能没有parentViewController
。
答案 1 :(得分:0)
将main.xib文件视图映射到rootViewcontrollers视图..然后它将起作用
答案 2 :(得分:0)
使用以下代码进行映射
[map from:kAppViewController toModalViewController:[controller class]];
答案 3 :(得分:0)
我发现makeKeyAndVisible从父级移除了模态视图,因此删除了行[self.window makeKeyAndVisible];
或者你可以把它移到顶部。