1

在我的具体情况下,我有一个电子邮件链接UITextView,因此当用户长按此链接时,会打开 iOS 提供的操作表,您可以在其中使用此电子邮件地址创建新联系人等。此操作会打开另一个外部(由 iOS 提供)模式视图控制器,类似于联系人应用程序,但它是在我们的应用程序中打开的,位于当前视图控制器之上。

我想知道我的视图控制器何时被这个外部模态视图控制器覆盖,何时再次可见,因为我需要它来控制打开/隐藏键盘(并做更多)。不幸的是,我发现在这种情况下没有触发任何事件,UITextView, viewWill/DidAppear/Disappear也没有调用任何委托方法。我什至使用我自己的UIApplication子类和覆盖-(BOOL)openURL:(NSURL *)url方法进行了测试,但只有在点击 URL 时才会调用它(例如:在 http 链接上短按以在 Safari 中打开它,在电话号码上短按以拨打电话等),所以它是在我的情况下未调用(使用电子邮件地址创建新联系人)。

到目前为止,我还没有解决方案,我将不胜感激任何想法。

4

1 回答 1

0

您的视图控制器应该接收viewWillDisappear:viewDidDisappear:它们的对应物。如果您在文本视图中点击后不久收到此消息,那么假设用户触发了系统模式视图控制器并不是不合理的。

于 2011-09-22T13:00:34.630 回答