0

我想根据用户是否允许/不注册通知来对视图控制器进行一些切换。这个视图第一次加载和

appDelegate.registerForNotifications(UIApplication.sharedApplication())

在 ViewDidLoad 中调用,会显示 AlertController 并且 viewController 按预期完成其布局,因此缺少对用户是否允许/不允许通知的任何依赖。

我知道我可以在应用程序启动后立即显示注册警报,但我想等待在此视图控制器中请求许可,因为它仅与此视图相关,而不与之前的其他视图相关。

在调用 viewWillAppear 之前有什么方法可以捕获 UIAlertAction 吗?

4

1 回答 1

2

在调用 viewWillAppear 之前有什么方法可以捕获 UIAlertAction 吗?

不,也不应该有。你不做之前 viewDidLoad的事情,viewWillAppear等等。您在这些方法中的工作是根据需要做出响应(例如,通过进行初始化),然后尽可能快地让开。您不得以任何方式延迟视图控制器的出现。

相反,重新考虑您的架构。

视图控制器的视图将会出现。所以就让它吧!如果您担心,例如,如果用户不允许注册,则不应启用按钮,然后从禁用按钮开始,并且仅在您知道(或在警报操作的处理程序中了解)现在允许它之后才启用它。

或者,如果此视图控制器完全依赖于允许注册的用户,请将注册移至应用程序的早期阶段,甚至不允许用户在没有它的情况下来到这里!

于 2016-10-01T20:03:37.007 回答