2

我正在做一个 TabBarApplication,以及一个带有 ModalViewController 的登录屏幕。登录屏幕中是新的注册按钮,它引导我选择帐户类型,然后引导我填写个人信息表格。我在帐户类型屏幕和个人信息表单中也有返回按钮。

它是这样的: A - 登录屏幕。B - 帐户类型。C - 个人信息表。

用户这样走:A->B->C

如果用户在帐户类型 (B) 处按回,我只是将其关闭并完成。

如果用户在个人信息 (C) 处按回,我会关闭 C 并出现 B 视图。

但问题是,如果用户注册成功。我需要同时解雇 C 和 B 并转到 A(登录屏幕),但我做不到。

由于 B 是 C 的父母,我不能同时解雇他们。

这种方式我称之为新观点:

ScreenUpdateAccountOuter *registerscreen = [[ScreenUpdateAccountOuter alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:registerscreen animated:YES];

这样我就解雇了他们:

[self.parentViewController dismissModalViewControllerAnimated:YES];

感谢一些帮助。

谢谢你。

4

4 回答 4

2

您需要使用委托方法。

我希望你听说过 iOS 中的协议和委托。要了解更多信息,请参阅此处

下载这个应用程序,看看我是如何实现的。

于 2012-04-05T10:39:10.380 回答
1

请注意,这是伪代码。

在 C 中:创建一个布尔值并将其设置为是。

在 B 中:

- (void)viewDidAppear
{
    if (myBool == YES)
    {
    [self.parentViewController dismissModalViewControllerAnimated:YES];
    }
}
于 2012-04-07T09:20:13.860 回答
0

当在 C 上,并且你想跳回 A 时,在 B 上调用dismissModalViewController,它将动画 C 出来,并在下面显示 A。这是多个模态像这样堆叠的行为。

于 2013-06-02T19:28:38.127 回答
-1

尝试使用这个:

[self.navigationController popToRootViewControllerAnimated:YES];

希望能帮助到你

编辑

可能是一个草率的解决方案,但尝试向BOOL第二个控制器添加一个属性。并viewWillAppear进行检查。如果是YES,那么只需解雇该控制器。在第三个视图中创建第二个视图的属性,然后在从第二个视图切换到第三个视图之前将该属性设置为 self。然后在完成注册后将BOOL第二个控制器中的设置为YES。之后viewWillAppear应该调用第二个视图的 the ,因为BOOLYES应该自行关闭。

希望你能理解:)

于 2012-04-05T09:32:53.073 回答