gpt4 book ai didi

url - 从 UITableViewCell 打开邮件和 Safari

转载 作者:行者123 更新时间:2023-12-04 20:23:06 25 4
gpt4 key购买 nike

我有一个包含两个 UITableViewCell 的表格(每个都有一个标签)。

想法是实现经典的关于页面,其中包含指向应用程序网络的链接和指向支持电子邮件的链接。

这是它的样子:

图片在这里:http://dl.dropbox.com/u/3930527/Xcode002.jpg

在来这里寻求帮助之前,我一直像往常一样环顾四周,但同样,像往常一样,有那么多奇怪和复杂的解决方案来实现一些东西,我的直觉告诉我一定要容易得多。

我不确定要走的路是否是使标签可链接。由于我在单元格上启用了用户交互,我认为使用该事件为第 1 行触发 [b]Safari[/b] 和为第 2 行触发 [b]Mail[/b] 是很自然的。

我说的对吗?有推荐的方法吗?

最佳答案

要在 Safari 中打开 URL,您可以使用 UIApplication#openURL method .您也可以使用相同的方法打开邮件,使用 mailto: 链接。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row == 0){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://myawesomeapp.com/support"];
} else if(indexPath.row == 1){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"support@myawesomeapp.com"];
}
}

对于您的支持电子邮件问题,可以说更好的解决方案是在您的应用中以模态方式显示“撰写新电子邮件”屏幕,这很容易做到。

首先,您需要将 MessageUI 框架添加到您的应用中,并让您的 TableView Controller 响应 MFMailComposeViewControllerDelegate

然后,不是调用上面的 UIApplication,而是按照这些行做一些事情:

if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:@"[My Awesome App] Support request"];
[mailViewController setToRecipients:[NSArray arrayWithObject:@"support@myawesomeapp.com]];
[self presentModalViewController:mailViewController animated:YES];
}

这将显示“撰写新电子邮件”模式,并将用户留在您的应用程序中,而不是切换到 Mail 本身。您还需要处理以下委托(delegate)方法,以便在用户完成后隐藏模式:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error{
[self dismissModalViewControllerAnimated:YES];
}

关于url - 从 UITableViewCell 打开邮件和 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9024994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com