7

私が望むのは、viewController に簡単なテキストを表示し、ハイパーリンクを自動解析することだけです。ユーザーがリンクをクリックすると、URL で何かを行うことができるコールバックをコントロールに何らかの方法で実行してもらいます。どうすればこれを達成できますか?

私はすでに何時間も TTCatalog を調べてきました。また、three20 のソース コードとスタック トレースを調べてみました。助け無し。URL のクリックにアプリがどのように反応するかわかりません。ヒントはありますか?

4

2 に答える 2

11

あなたがすでに試したことを見ずに助けるのは難しいですが、あなたは次のようなことをすることができるはずです:

TTStyledTextLabel* label = [[[TTStyledTextLabel alloc] 
        initWithFrame:someFrame] autorelease];
NSString* labelText = @"This should <a href=\"custom-uri://some/url\">work</a>";
label.text = [TTStyledText textFromXHTML:labelText lineBreaks:NO URLs:YES];
[someView addSubview:label];

TTNavigator次に、とを使用してアプリケーション内の特定のコントローラーにTTURLMapマップcustom-uri://some/urlしたり、アプリケーションデリゲートで自分で処理したりできます。その方法を見つけるのに最適な場所はTTNavigatorDemo、Three20ソースに含まれているサンプルアプリケーションを調べることです。具体的には、すべてのURLマッピングが実行されるAppDelegate.mを確認してください。

于 2009-07-23T15:10:23.530 に答える
0

Nathan が URL マッピングとリンクについて述べていることに加えて、CSS スタイルも使用できます。

TTStyledTextLabel* label = [[[TTStyledTextLabel alloc] initWithFrame:someFrame] autorelease];
NSString* labelText = @"This should <a href=\"custom-uri://some/url\">work</a> and 
<span class=\"redText\">this should be red</span>";
label.text = [TTStyledText textFromXHTML:labelText lineBreaks:NO URLs:YES];
[someView addSubview:label];

次に、StyleSheet.m 実装で

- (TTStyle*) redText {
  return [TTTextStyle styleWithFont:[UIFont systemFontOfSize:12] color:RGBCOLOR(255,0,0) next:nil];
}
于 2013-01-30T06:04:59.590 に答える