私が書いているアプリでは、ユーザーが UILabel をタップでき、タップした単語を確認できるのが最善だと思います。とにかく私はこれを行うことができますか?
質問する
958 次
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 に答える