ios – 显示和关闭模态视图控制器

任何人都可以给我的示例代码,我可以用来首先提出一个模态视图控制器,然后关闭它?这是我一直在努力:

    NSLog(@"%@", blue.modalViewController);
    [blue presentModalViewController:red animated:YES];
    NSLog(@"%@", blue.modalViewController);
    [blue dismissModalViewControllerAnimated:YES];
    NSLog(@"%@", blue.modalViewController);

这段代码在viewDidLoad(“blue”和“red”都是UIViewController的子类)。我希望我会显示红色的视图,然后立即隐藏它,用一些动画。然而,这段代码只提供模态视图,不会关闭它。任何想法?第一个日志显示“null”,而另外两个日志显示< RedViewController:0x3d21bf0>
另一点是,如果我把这段代码在applicationDidFinishLaunching:红色视图不出现,所有日志都获得“null”

首先,当你把代码放在applicationDidFinishLaunching中时,可能是从Interface Builder实例化的控制器尚未链接到你的应用程序(因此“red”和“blue”仍然是nil)。

但是回答你最初的问题,你做错了是你调用dismissModalViewControllerAnimated:在错误的控制器上!它应该是这样的:

[blue presentModalViewController:red animated:YES];
[red dismissModalViewControllerAnimated:YES];

通常“红色”控制器应该决定在某一时间点关闭自己(也许当点击“取消”按钮时)。然后“红色”控制器可以调用self上的方法:

[self dismissModalViewControllerAnimated:YES];

如果它仍然不工作,这可能与控制器以动画方式呈现的事实有关,因此可能不允许在呈现控制器之后很快将其关闭。

http://stackoverflow.com/questions/1529632/present-and-dismiss-modal-view-controller

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ios – 显示和关闭模态视图控制器