iOS app mailto href link 只能长按
iOS app mailto href link will only work with long press
我的 HTML 源代码中有一个非常基本的 <a href="mailto:test@gmail.com">E-mail here</a>
link iOS 应用程序。
link 显示正常,但是当我在模拟器或设备上单击它时,撰写消息没有显示。如果我长按 link,我会看到新消息、添加到联系人和复制的选项。如果我 select 新消息,一切都会按预期进行。按一次 link 没有任何作用。
我环顾四周并尝试了各种方法,但这看起来很简单。整个应用程序中的其他 link 按预期工作(电话号码、嵌入式 PDF 资源等)。 Mailto 无法按预期工作。
有什么想法吗?
过了一会儿我想通了。这与我在 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
方法中处理 link 次点击的方式有关。
我必须确保在该方法的正确位置添加 [[UIApplication sharedApplication] openURL:[request URL]];
行。对我来说,因为我希望撰写邮件视图显示在我的应用程序内部,所以我使用了 MFMailComposeViewController
.
现在可以用了,但不能真正解释为什么长按仍然可以用。
我的 HTML 源代码中有一个非常基本的 <a href="mailto:test@gmail.com">E-mail here</a>
link iOS 应用程序。
link 显示正常,但是当我在模拟器或设备上单击它时,撰写消息没有显示。如果我长按 link,我会看到新消息、添加到联系人和复制的选项。如果我 select 新消息,一切都会按预期进行。按一次 link 没有任何作用。
我环顾四周并尝试了各种方法,但这看起来很简单。整个应用程序中的其他 link 按预期工作(电话号码、嵌入式 PDF 资源等)。 Mailto 无法按预期工作。
有什么想法吗?
过了一会儿我想通了。这与我在 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
方法中处理 link 次点击的方式有关。
我必须确保在该方法的正确位置添加 [[UIApplication sharedApplication] openURL:[request URL]];
行。对我来说,因为我希望撰写邮件视图显示在我的应用程序内部,所以我使用了 MFMailComposeViewController
.
现在可以用了,但不能真正解释为什么长按仍然可以用。