Storyboard & Seque:展示的 VC 如何知道展示的 VC 啥时候解散自己?
Posted
技术标签:
【中文标题】Storyboard & Seque:展示的 VC 如何知道展示的 VC 啥时候解散自己?【英文标题】:Storyboard & Seque: How does the presenting VC know when the presented VC dismisses itself?Storyboard & Seque:展示的 VC 如何知道展示的 VC 什么时候解散自己? 【发布时间】:2012-10-19 12:05:29 【问题描述】:我的应用中有两个场景 StoryBoard - 它使用自动转场(在 IB 中创建)。当在第一个UIViewController
中单击一个按钮时,第二个UIViewController
会以模态方式呈现。
第一个UIViewController
需要知道第二个UIViewController
何时自行解散。实现这一目标的正确方法是什么?现在,我在第一个 vc 中使用-viewDidAppear:
,但这似乎不对。
任何指针将不胜感激。
最好, 计算机科学
【问题讨论】:
【参考方案1】:你在做什么,加上检查isMovingToParentViewController
是否,应该适用于这种特定情况。如果您曾经有其他从第一个触发的视图控制器并且您想要区分它们,这将无济于事。
最直接的方法是让模态控制器在它消失时发布通知。
【讨论】:
【参考方案2】:您可以使用通知来确保您只在 vc2 解雇时执行任务。
// in vc1
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doSomethingWhenVC2Dismissed) name:@"vc_2_dismissed" object:nil];
// in vc2
[[NSNotificationCenter defaultCenter] postNotificationName:@"vc_2_dismissed" object:nil];
【讨论】:
【参考方案3】:只需按照 Apple 使用 SDK 提供的 ViewController 的方式进行操作,这些 ViewController 旨在以模态方式呈现:MFMailComposer、UIImagePicker 等。
使用委托。
【讨论】:
以上是关于Storyboard & Seque:展示的 VC 如何知道展示的 VC 啥时候解散自己?的主要内容,如果未能解决你的问题,请参考以下文章
StoryBoard ID && Restoration ID