为登录呈现UIViewController

时间:2015-01-09 08:06:15

标签: xcode uiviewcontroller uinavigationcontroller

我正在构建我的应用程序,要求用户进行身份验证。 如果与服务器的会话过期,则会弹出登录控制器。 到现在为止还挺好。问题是,当用户打开应用程序并显示第一个屏幕(空表视图),然后显示登录屏幕。 我知道这是一个细节,但我认为这不对。

这是我的MainViewController,位于Navigation Controller下。 代码:

-(void)viewDidAppear:(BOOL)animated{
NSLog(@"Username: %@",[MMCurrentUser email]);

//Check if the user is logged and shows the sites else it shows the login screen

if(![MMCurrentUser email]){

    LoginLaunch *ll;
    ll= [[LoginLaunch alloc]initLoginScreenFrom:self];

}}

如果我将该代码放在willAppear中,我会收到警告:“不鼓励在分离的视图控制器上显示视图控制器。”问题仍然存在。

任何人都知道解决这个问题的好方法吗?

1 个答案:

答案 0 :(得分:1)

也许干净的方法是让你的第一个视图控制器看起来像某种等待......(检查登录)'屏幕 - 或者更好,正如您在评论中提到的那样 - 平稳延续您的发布图像;从那里,根据身份验证的结果转换到不同的视图控制器:

  • 成功:继续导航控制器/表视图控制器。
  • 失败:继续登录'查看控制器。