2014-01-31 47 views
0

我是一名试图制作iOS应用的Android开发人员。我需要知道iOS如何处理2件事情。是否需要在移动到下一个视图控制器之前关闭视图控制器

  1. 我的应用程序有一个登录屏幕和主屏幕。在android应用程序中,我必须在移动到主屏幕之前完成登录屏幕,或者当按下后退时用户可以返回到登录屏幕。在移动到主视图控制器之前,我应该做些什么来完成我的登录视图控制器?

  2. 如果我不必完成我的登录屏幕。当从主屏幕点击注销时,我应该弹出我的主视图控制器以进入我的登录页面。或创建一个新的登录?

+0

使用UINavigationController,pushViewController显示新的视图控制器,popviewController删除新的视图控制器并再次显示登录视图。阅读UIViewControllers上的一些苹果文档,UINavigationControllers – santhu

+0

你需要看看这些文档,** ARC ** && ** UINAvigationController ** –

+0

@santhu我知道这一点。问题是,当你按下注销时,你通常会弹出登录上方的所有视图,或者只是将新的登录按入栈中? –

回答

2

您无需在iOS中登录后删除登录屏幕。如果您使用pushViewController导航到主屏幕,则iOS会创建一个视图控制器堆栈。这样用户可以使用默认的后退按钮返回到前一个屏幕。您可以隐藏默认后退按钮,并在您的主屏幕上添加您自己的按钮Logout

self.navigationItem.hidesBackButton = YES; 

添加您自己的按钮

UIBarButtonItem *logoutButton = [[UIBarButtonItem alloc] 
           initWithTitle:@"Logout"            
           style:UIBarButtonItemStyleBordered 
           target:self 
           action:@selector(logoutUser)]; 
self.navigationItem.leftBarButtonItem = logoutButton; 
logoutButton = nil; 

logoutUser方法,只是做你会破坏或清除,并调用下面的方法回到你的登录屏幕。

[self.navigationController popViewControllerAnimated:YES]; 
相关问题