UITextView(UIDataDetectorTypeLink)中的电子邮件地址在应用内打开

时间:2014-02-13 16:30:39

标签: ios iphone uitextfield

我在UITextView中有一个电子邮件地址(使用UIDataDetectorTypes检测到),可以在应用内打开邮件编辑器(如MFMailComposeViewController),而不是打开默认的Mail应用程序本身。

self.textView.dataDetectorTypes = UIDataDetectorTypeLink;
// ...
self.textView.text = @"Blah blah email@address.com blah blah";

我的印象是,默认情况下,电子邮件地址和其他链接会在外部应用中打开而不是应用本身。有没有确定这个的设置?这个问题是邮件编辑器不适合应用程序的布局,并且隐藏了发送和取消按钮(在iOS 7中),但无论哪种方式,我都希望打开邮件应用程序。

这发生在iOS 6和7上,两者都在模拟器中的设备上。在iOS 5设备上,它按预期工作(邮件应用程序已打开)。

2 个答案:

答案 0 :(得分:2)

运行我自己的一些测试,似乎我们无法控制如何处理检测到的值。您也无法创建自定义检测器,但可以伪造它:https://stackoverflow.com/a/2433763/143225

作为参考(虽然不是您问题的答案),您可以像这样打开邮件应用程序:

[UIApplication sharedApplication] openUrl:[NSURL URLWithString:@"mailto:email@address.com"]

邮件URL方案: https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MailLinks/MailLinks.html#//apple_ref/doc/uid/TP40007899-CH4-SW1

打开网址: https://developer.apple.com/library/ios/documentation/uikit/reference/UIApplication_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006728-CH3-SW14

很多邮件,非常发送。

答案 1 :(得分:0)

也许这篇文章可以帮到你:

它允许您在单击文本视图邮件地址时启动自定义电子邮件视图

https://stackoverflow.com/a/31167489/3593801

它对我有用。