我正在尝试创建一个应用程序,允许您转到相应应用程序的某个应用程序(具体而言,常规Web链接转到Safari,YouTube链接转到YouTube, Google地图链接转到地图应用程序,文本行转到Notes应用程序,电话号码转到联系人(用于除iPhone之外的任何iOS设备)或电话应用程序。所有数据都在表格视图中查看巧妙地识别电话号码和文本(包括国际号码)
现在,我有一个NSMutableArray,它有一些虚拟数据(具体来说,是每种数据类型之一)。我已经成功使用了网络链接,YouTube链接和Google地图链接。问题是,我不知道如何才能识别国内和国际电话号码。
这里是NSMutableArray的数据:
NSMutableArray *sites = [[NSMutableArray alloc] initWithObjects:@"http://www.apple.com/", @"http://www.youtube.com/watch?v=QH2-TGUlwu4", @"http://maps.google.com/maps?saddr=CN+Tower&daddr=1+Yorkdale+Road+%23500,+Toronto,+ON+M6A+2T9,+Canada+(Yorkdale+Shopping+Centre)&hl=en&sll=43.68515,-79.422475&sspn=0.133818,0.308647&geocode=FdzumQIdjqBE-yGBdRzexNjtFQ%3BFUk0mwIdOp1D-yG5Hg9iD9hImQ&vpsrc=0&t=w&mra=ls&z=12", @"This is a test", @"(416)-555-5555", nil];
也...
self.cloudsendList = sites;
这里是我迄今为止在当用户点击一个表格视图单元格的条款代码:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat: @"%@", [cloudsendList objectAtIndex:indexPath.row]]]];
}
我不知道我是否必须用很多代码行来做到这一点,但是,这有可能吗?如果是这样,你将如何实现它?如果使用需要查看更多代码才能理解,那么我可以很乐意发布相关信息。我希望我没有造成太多麻烦,但我希望你能帮助我。我很抱歉,如果这听起来像一个总noob。提前致谢! :)
好的。那么,代码对于我现在的代码而言会是怎样的呢?为了让你知道,必须选择带有信息的tableviewcell,而不是文本本身。 – chrisjr 2012-03-27 00:12:06
将UITextView设置为editable = NO。文字会变成网页上的链接,并自动执行正确的操作。这是最容易的,但你可能不喜欢视觉风格。 – sosborn 2012-03-27 00:36:08
嗯...... NSPredicate呢?你会推荐吗? – chrisjr 2012-03-27 11:50:17