我正在嘗試創建一個應用程序,允許您轉到相應應用程序的某個應用程序(具體而言,常規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