在iOS中切换视图

时间:2011-09-14 17:08:17

标签: objective-c ios uiview uiviewcontroller

我尝试创建一个包含不同视图的应用。有两个视图,每个视图控制器一个。第一个视图通过AppDelegate类中的rootViewController加载。现在我想点击一个按钮加载另一个视图。

我尝试在第一个控制器中创建第二个视图控制器的实例并使用pushViewController方法,但它没有用。该项目已经建成,但点击按钮后没有任何事情发生。

4 个答案:

答案 0 :(得分:1)

更新了我的回答:

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
PasswordHandling *aPasswortHandler = [[PasswordHandling alloc] init]; 
self.passwordHandling = aPasswortHandler; [aPasswortHandler release]; 
UINavigationController *navigationController;
if ([passwordHandling passwordInKeyChain] == TRUE) { 
    LogInView *logInView = [[[LogInView alloc] initWithNibName: @"Log In View" bundle: nil] autorelease]; 
    navigationController = [[UINavigationController alloc] initWithRootViewController:logInView];
    //[navigationController pushViewController: logInView animated:NO];
} else { 
    CreateNewPasswordView *createNewPasswordView = [[CreateNewPasswordView alloc] initWithNibName:@"CreateNewPassword" bundle: nil]; 
    navigationController = [[UINavigationController alloc] initWithRootViewController:createNewPasswordView];
    //[navigationController pushViewController: createNewPasswordView animated:NO]; 
}

[self.window addSubview:navigationController.view]; 
[self.window makeKeyAndVisible]; return YES; 

答案 1 :(得分:0)

您必须将第一个viewController放在UINavigationController中,并将此navigationController设置为rootViewController。然后,当您单击按钮时,请致电(假设您在第一个控制器中):

[self.navigationController pushViewController:secondViewController animated:YES];

答案 2 :(得分:0)

Saran和Zoleas都达到了关键点......但是看一些不同的例子可能会有所帮助。请参阅此内容以获得解释(我通常使用方法#2获取我的应用程序)

How to push viewcontroller

答案 3 :(得分:0)

通过右键/控制点击按钮查看其连接弹出窗口,检查以确保您的视图按钮的目标/操作设置正确。