按下后退按钮时弹出多个视图?

时间:2009-12-05 08:11:08

标签: iphone cocoa-touch xcode uiviewcontroller

我正在开发一个应用程序,我在第一个屏幕上使用登录表单。如果用户是新用户,则他会接到注册表格,之后他也会以普通用户的身份进入主页。

现在我的问题是“如果新用户按下btn,我怎样才能将他引回到登录页面而不是注册表格以及其间的所有内容?”

我应该更改navigationcontroller's viewControllers array吗?

3 个答案:

答案 0 :(得分:3)

UIViewController有一些方法。你可以使用

- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated

弹出到顶视图控制器,或

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

继续弹出,直到你到达某个特定的控制器,你知道它在某个地方的堆栈......

答案 1 :(得分:3)

- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated上的

UINavigationController会将用户弹回到堆栈中的最后一个视图控制器。

如果要将导航堆栈设置为新的已知状态,可以使用- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated数组中的最后一项将成为活动状态。

答案 2 :(得分:2)

也许你应该从另一个角度思考你的问题。

注册表格并不是事物流程的一部分 - 这是一种临时的,一次性的,强制性的反感。

如果您将注册表单设为模态视图,那么您可以在注册完成(或取消)时关闭模态视图并正常移动到下一个视图控制器。

这样,当你备份时,登录视图就是前一个视图。