2009-08-20 4 views
2

私は辞書検索アプリケーションを作成しています。ユーザーはUITableViewから単語を選択し、アプリケーションはその定義を表示します。場合によっては、単語が別の単語と似ているので、「参照:」を表示し、その後に触れたときに別の定義を表示する同様の単語のリストを表示します。UITextView内でのシンプルなリンクのベストアプローチ

ここでUITextViews内のリンクを検索すると、ほとんどの回答がWebにリンクされますが、これは実際に必要なものではありません。ユーザーが単語に触れるとコントロールを取得して、ビューを変更できるようにしたいだけです。

これを行うにはUIWebViewが唯一の方法ですか、それともSDKで何かが分かりにくいですか?また、私はネイティブのSDK内にとどまり、three20のルートには行かない方が好きです。

ありがとうございます!

答えて

2

この作業を行うには別のUITableViewを使用します。同様の単語のリストは既にNSArray形式になっている可能性がありますので、UITextViewの代わりに別のUITableViewを設定してリストを表示するのはかなり簡単でしょうし、すでにこのコードがメインのUITableViewで動作していることを知っていればクリック可能にする方法

+0

素晴らしいです!明白なことはいつも私を逃れるようだ。ありがとう! – skantner

2

UIWebViewは私が恐れている唯一のものです。

:データ検出器はUITextViewの内側にリンクするための唯一の方法であり、彼らが唯一の適切なデータタイプ(電話番号、Webページ、アドレス)に対応させていただきます...

リンクは、通常の方法で行うことができます

<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 
} 
関連する問題