Iphone UITextView和数据检测器类型-当链接被长点击时,如何确定外部模态视图控制器处于打开/关闭状态?

Iphone UITextView和数据检测器类型-当链接被长点击时,如何确定外部模态视图控制器处于打开/关闭状态?,iphone,uitextview,hyperlink,modal-dialog,datadetectortypes,Iphone,Uitextview,Hyperlink,Modal Dialog,Datadetectortypes,在我的特定情况下,我在UITextView中有一个电子邮件链接,因此当用户长按此链接时,会打开iOS提供的操作表,您可以在其中使用此电子邮件地址创建新联系人等。此操作将打开另一个类似于Contacts应用程序的外部(由iOS提供)模式视图控制器,但它是在我们的应用程序中打开的,位于当前视图控制器之上 我想知道这个外部模态视图控制器何时覆盖了我的视图控制器,以及它何时再次可见,因为我需要它来控制键盘的打开/隐藏(以及执行更多操作)。不幸的是,我发现在这种情况下没有触发任何事件,也没有调用UITex

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

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


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

您的视图控制器应该会收到
视图将消失:
视图消失:
。如果您在文本视图中点击后不久收到此消息,则假设用户触发了系统模态视图控制器是合理的。

它没有收到
视图将消失:
等等,因为从技术上讲,视图不会消失,但它被模态视图控制器覆盖。。。