1

私が書いているアプリでは、ユーザーが UILabel をタップでき、タップした単語を確認できるのが最善だと思います。とにかく私はこれを行うことができますか?

4

2 に答える 2

2

あなたはUIWebviewを使用してそれを行うことができます

使用する

- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;

メッセージ全体をコーディングしてから、リンクをラップします

[webView.loadHTMLString:@"<a href="tap:Google">Google</a>" baseURL:nil];

次にデリゲートメソッドで

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

どの単語をタップしたかがわかります

   if ( [request.URL.scheme compare:FeverProtocolIdentifier] == NSOrderedSame ) 
    {    
        NSString *word = request.URL.resourceSpecifier;
    }
于 2012-04-18T03:15:37.333 に答える
1

これはとても簡単なことではないと思います。おそらく、UILabelではなく OHAttributedLabel を使用し、必要な情報を返すメソッドを OHAttributedLabel コードに追加します。OHAttributedLabel.m のlinkAtPointメソッドを見ると、何をする必要があるかがわかります。そのメソッドを複製して、おそらく新しいものにcharacterOffsetAtPointという名前を付け、既存のコードが 340 行で計算するインデックスを返します。

于 2012-04-18T02:55:55.917 に答える