2010-11-03 79 views
0

我正在编写一个应用程序,允许iPhone用户登录到他们的帐户。登录后,用户可以通过Web服务获取信息,更改密码,更改其他类型的数据。我是iPhone编程的新手,我对我的viewController安装程序有点困惑,以解决这个问题。我想要做的是以下几点; 1)如果用户没有登录 - 显示一个视图,占用整个屏幕显示我的登录/密码文本字段等(我将有一些条件设置到位检查,看看用户是否有U/P保存在一个plist)使用viewControllers完成这种情况的最佳方法 - iPhone

2)如果用户已经登录或者一旦用户登录,删除当前的全尺寸视图并加载tabBar视图。如果用户注销,则会加载主登录视图。

我需要两个viewControllers这个特定的场景?我已经阅读了很多关于视图控制器的内容。阅读所有Apple文档,但我仍然感到困惑,因为有太多的选项/方法可供使用。

一如既往,我提前感谢你。

牛逼

回答

0

只是许多可能选项之一:

创建LoginViewControllerUITabBarViewController。应用程序代理会检查在启动时是否已经拥有用户的凭据,并显示相应的控制器

if ([dataModel hasUserCredentials]) 
    [window addSubview:[tabControlle view]]; 
else 
    [window addSubview:[loginController view]]; 

LoginViewController进行登录,并通知应用程序委托:

- (void) loginComplete 
{ 
    // XXX animation? 
    // XXX view(Will/Did)(Appear/Dosappear) and all the stuff, 
    [[loginContoller view] removeFromSuperview]; 
    [window addSubview:[tabController view]]; 
} 
+0

感谢您的建议,我想我随着奥莱和尤拉斯的建议去做。非常赞赏的方向。 :)这就是为什么这个网站太棒了! – tg2007 2010-11-03 21:22:12

+0

我击中了这块巨大的砖墙。我有我的两个控制器设置。我的主视图控制器是一个tabBarController(应该可以在用户成功登录后查看)和我的loginViewController。如果没有登录,那么我加载我的loginView,它是loginView.xib/.h/.m我创建一个(登录btn)动作来模拟登录加载tabBarController。这工作正常。然后我在我的tabBar视图中有一个注销按钮来模拟注销返回到loginView。我有我的方法设置,但由于未知的选择器不断得到一个异常,但我的方法存在。只是微笑 – tg2007 2010-11-05 00:28:23

+0

我已经烧了几天这个。为了让我渡过这个障碍,我需要为导师付钱。我想确保我的布局是正确的,然后再继续下去。任何接受者? – tg2007 2010-11-05 02:01:34

0

这里是我会怎么做:

  • 标签栏控制器是您的主视图控制器。你首先初始化它(在主要的NIB文件中)并将它添加到你的应用程序委托中的窗口中。

  • application:didFinishLaunchingWithOptions:中,检查用户是否已经登录。如果没有,您立即将您的登录屏幕显示为模式视图控制器。如果您没有动画,则用户不会注意到标签栏控制器已经存在于下方。

  • 当用户登录时,您将关闭模式视图控制器,并且您的选项卡UI变得可见。

0

你应该看看创建一个基于导航的应用程序。这将有一个内置的UINavigationController。你可以使用它来控制你的窗口。

相关问题