如何在iPhone中的不同视图之间移动

时间:2011-03-09 22:29:56

标签: iphone xcode ios4 uiviewcontroller

我的iPhone应用程序中有一个登录视图。如果用户成功验证我想将他从LoginViewController屏幕移动到MyViewController屏幕。以下是我的代码,

if([serverOutput isEqualToString:@"Yes"]){
        NSLog(@"Authentication correct");

        if(self.myviewController==nil)
        {
            MyViewController *myController=
            [[MyViewController alloc]initWithNibName:@"MyView" bundle:[NSBundle mainBundle]];
            self.myviewController=myController;
            [myController release];
        }
}

但是,即使身份验证正确,当我点击“登录”按钮时,应用程序也无法执行任何操作。由于我是iphone应用程序开发的新手,任何人都可以帮我解决代码..

2 个答案:

答案 0 :(得分:6)

要在您希望阅读UINavigationControllers的视图之间进行转换。 UINavigationController是管理视图层次结构的对象。 UINavigationController就像是在应用程序流中从一个视图转到另一个视图的路线图,它通过调用方法pushViewController:animated(转换到新的视图控制器)和{{来实现它的最基本功能。 1}}(转换回预览视图)。

对于您的项目,您需要执行以下操作。

  • 分配并初始化popViewController:animated(如果您计划在登录屏幕上显示程序启动的位置,则在您的应用程序委托中)并将其根视图分配给您的登录视图控制器。
  • 如果用户已成功通过身份验证,则您将构建要转换到的UINavigationController实例,然后指示UIViewController通过调用将此下一个视图控制器推送到导航堆栈UINavigationController
  • 此时假设您希望用户退出并再次返回登录屏幕,您可以调用此方法pushViewController:animated:

Here's popViewController:animated的类引用可帮助您入门。它有一些很棒的图片来解释它的结构。

答案 1 :(得分:1)

使用UINavigationController