使用dismissModalViewControllerAnimated而不取消分配模态视图控制器

时间:2012-03-07 15:29:29

标签: iphone ios xcode cocoa-touch

我正在使用iPhone Utility App框架创建一个应用程序,我正在尝试在侧视图上使用导航控制器,因为此视图上会有很多向下钻取选项。当我完成此视图时,我调用以下代码:

- (IBAction)done:(id)sender
{
    [self dismissModalViewControllerAnimated:YES];
}

当我忽略此视图时,我希望能够在我再次重新打开此视图时返回当前导航中的位置。但是,当我使用此方法关闭此视图时,vc将被取消分配,因此当我尝试返回菜单时,菜单会从头开始。

思想?

3 个答案:

答案 0 :(得分:2)

您需要保留对该对象的引用(我称之为选项控制器)。我想说最简单的方法是在呈现视图控制器中创建一个引用选项控制器的iVar。然后,当您再次显示选项控制器时,只需显示引用的选项控制器,而不是创建新的控制器。如果不同的视图控制器对象可以显示选项控制器,则需要传递该引用,或将其存储在所有其他视图控制器都可以访问的对象中。

答案 1 :(得分:0)

呃代码不多,所以也许我误解了你的设置,但......

您可以使用AppDelegate将(作为属性)存储在Navigation控制器的views集合中的当前位置( index ),然后编写一个方法稍后重新访问时,会推送到(存储的)位置。

虽然可能是一种更简单的方法..

答案 2 :(得分:0)

那么你想要的是从视图翻转到另一个视图?如果要在翻转之间保持导航栏状态,我建议您仅使用一个视图控制器来控制这2个视图。您可以使用+ transitionFromView:toView:duration:options:completion: UIView来翻转视图。