1

我已经玩了几天了,我无法弄清楚。

-> 基本上我想实现一个简单的登录视图,点击时有一个按钮,转到导航控制器(在我的例子中是“viewController”,带有链接到其他视图的迷你数学游戏的按钮)。

-> 在登录屏幕上单击按钮时,应首先显示登录屏幕,而不是导航控制器的根视图

-> 当我单击登录屏幕的按钮时,我试图声明导航控制器,但这似乎不起作用

-> 可以肯定地说导航控制器只能在苹果委托中初始化吗?

目前我在我的苹果代表中有这个声明和设置我的导航控制器:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:       (NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    UINavigationController *navigationViewController = [[UINavigationController alloc] initWithRootViewController:self.viewController];  // self.viewController is the main screen
    self.window.rootViewController = navigationViewController; // set root to navigationViewController
    [self.window makeKeyAndVisible];

    return YES;
}

任何想法将不胜感激。感谢您的时间 !

4

2 回答 2

2

您在应用程序委托中的代码看起来不错。NavigationController 不需要在 AppDelegate 中声明。在您的情况下,在按下登录按钮时声明它绝对是可以的。

在登录事件中试试这个:

UIViewController *nextVC = [[UIViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:nextVC];
[self presentViewController:navController animated:YES completion:^{

}];
于 2013-10-24T01:57:11.560 回答
0

我要做的是将 loginViewController 设置为导航的 rootViewController。在检查登录是否成功后,您可以实现 [self performSegueWithIdentifier:@"identifier"] 将游戏 viewController 设置为目的地。(使用 Storyboard 会让你的生活更轻松)。好吧,这就是我的看法:)

于 2013-10-24T02:55:25.570 回答