Objective c 如何从dataDetectorTypeLink设置电子邮件主题?
在Objective c 如何从dataDetectorTypeLink设置电子邮件主题?,objective-c,ios,uitextfield,datadetectortypes,Objective C,Ios,Uitextfield,Datadetectortypes,在UITextView的文本中,我有一个电子邮件地址,dataDetectorType设置为dataDetectorTypeLink。有没有办法使用此配置设置电子邮件的主题行?我知道如何使用MFMailComposeController设置电子邮件的主题行,但有没有办法将其与dataDetectorType结合起来 编辑:以下是我在我的应用程序代理中对“openURL:(NSURL*)url的(重新)定义: -(void)openURL:(NSURL *)url { MFMailComp
UITextView
的文本中,我有一个电子邮件地址,dataDetectorType
设置为dataDetectorTypeLink
。有没有办法使用此配置设置电子邮件的主题行?我知道如何使用MFMailComposeController
设置电子邮件的主题行,但有没有办法将其与dataDetectorType
结合起来
编辑:以下是我在我的应用程序代理中对“openURL:(NSURL*)url的(重新)定义:
-(void)openURL:(NSURL *)url
{
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self;
[mailer setSubject:@"feedback on Gay Haiku"];
[self presentViewController:mailer animated:YES completion:NULL];
}
但是我得到一个错误,AppDelegate声明选择器
presentViewController:animated:`。是否尝试将?subject=
附加到链接
@"mailto:webmaster@site.com?subject=Web Site Extraordinaire"
我刚刚意识到,只有当您切换到UIWebView
时,才能使用它。。。这是一种选择吗
编辑:
另一种方法是子类化UIApplication
并重写openURL:
。这是描述的。由于这似乎是您控制的固定文本,您可以在电子邮件地址范围内的NSLinkAttributeName
属性中添加NSAttributeString
,而不是启用自动链接检测。这将允许您指定在点击链接时希望系统打开的完整URL。然后您可以使用Mundi的建议(URL中包含subject=)设置电子邮件的主题。非常感谢。我创建了UIApplication
的子类并包含了代码,但在if([self.delegate openURL:url])
行中出现了一个错误,该行读取选择器“openURL”的无已知实例方法
。我做错了什么?(抱歉--我对委托仍然有点糊涂…)您也需要实现委托方法。很抱歉不理解--但我该怎么做呢?我已经添加了openURL
的(重新)定义。是的,您不能从应用程序委托显示视图控制器-只能从另一个视图控制器。您必须将此消息发送给UIApplication的代理,该代理是视图控制器。也许不那么微不足道,考虑打开一个新问题。