2009-08-20 68 views
2

我正在創建一個字典查找應用程序。用戶從UITableView中選擇一個單詞,應用程序顯示該定義。在某些情況下,單詞將與另一個單詞類似,因此我想要顯示「另請參閱:」,後跟一系列類似的單詞,當觸及時,提出另一個定義。UITextView中的簡單鏈接的最佳方法

在這裏搜索UITextViews中的鏈接,大部分答案都涉及到連接到網絡,這不是我真正需要的。我只是想在用戶觸摸某個單詞時獲得控制權,以便我可以更改視圖。

是UIWebView做到這一點的唯一方法,還是我錯過了SDK中顯而易見的東西?另外,我寧願留在原生SDK中,也不要去three20路線。

謝謝!

回答

2

我會用另一個UITableView來完成這項工作。您的類似單詞列表可能已用NSArray格式,因此設置另一個UITableView而不是UITextView來顯示列表會很容易,並且您已經知道此代碼可用於主要UITableView,您已經知道如何讓他們點擊!

+0

好極了!顯然總是似乎逃避我。謝謝! – skantner 2009-08-21 01:13:13

2

一個UIWebView將是唯一適合這裏的恐懼。數據探測器是一個UITextView的內部鏈接的唯一途徑,他們將只響應適當的數據類型(電話號碼,網頁地址)...

鏈接可以做正常的方式:

<a href='http://someotherword'>someotherword</a> 

設置的webviewdelegate分得任何鏈接請求(並防止它們在瀏覽器中被打開),這樣就可以在自己的處理程序打開它們:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request 
{ 
    if(navigationType == UIWebViewNavigationTypeOther) return YES; // Allow direct loading 

    NSString *myWord = [[request URL] host]; 
    // do something with myWord... say open another word 
    return NO; // Don't let the browser actually perform this navigation 
}