2

如果某个视图控制器以模态方式呈现在另一个视图控制器之上(除了viewWillDisappear,显然不要求在 iPad 上进行非全屏模式呈现),是否有任何方法可以自动通知?

背景/用例:在 iPad 应用程序中,每当呈现模态表单时,我都想调整模态表单后面的视图的外观。然而,模态的展示不一定在需要适应的同一个视图控制器中完成,而是可能发生在某些子 VC 或父 VC 中。当然,我可以手动传达这个事件(通过通知、委托或其他方式),但这是非常重复的,并且在将来添加更多模式表单时很容易被遗忘。

因此,我想知道是否有更优雅的方式来实现这一点。我已经尝试过 KVO on presentedViewController,但这似乎不起作用(而且我也不确定如果presentedViewController模态演示是由子视图控制器完成的,是否会实际设置......)。

4

1 回答 1

0

你可以在 UIViewController 上创建一个类别,并有你自己的方法来presentModalWithNotification。这样您就永远不会忘记发送通知,并且您可以订阅此通知并在需要时使用它。

于 2015-05-05T06:42:02.550 回答