2011-01-28 3 views
0

私は、このコントロールがあまり成功していないハイパーテキストリンクで動作するようにしようとしています。私はTTCalaogを見て、補充しようとしましたが動作しません。TTStyledTextLabel

これはハイパーテキストリンクを表示する限り動作しますが、起動しません。

TTStyledTextLabel * label = [[[TTStyledTextLabel alloc] initWithFrame:CGRectMake(5、0、315、175)] autorelease];

NSString * labelText = @ "これはうまくいくはずです";

label.text = [TTStyledText textFromXHTML:labelText lineBreaks:いいえURL:はい];

[self.view addSubview:label];

私はここのポイントはおそらくGoogleのURLの配置でポイントを逃している?私はTTURLMapとTTNavigatorで設定されているcustom-uri:// some/urlを使用するこのフォーラムの投稿を見ましたが、Webビューのハイパーテキストからurlを開く必要があります。

私はTTNavigatorなしで動作するようにTTURLMapをカスタマイズしようとしましたが、完全にピクルスされましたか?

どれヘルプgratefulltが;-)

おかげ

答えて

1

を高く評価し、私はちょうど自分自身にTTStyledTextLabelクリックURLをキャッチするための解決策を見つけました。これがあなたの場合にも役立つことを願っています。

これは私が行ったことです。

1. TTNavigator

TTNavigator *navigator = [TTNavigator navigator]; 
    navigator.persistenceMode = TTNavigatorPersistenceModeNone; 
    navigator.delegate = self; 

の作成2.あなたがナビゲーターオブジェクトのデリゲートとしての自己を割り当てたようTTNavigatorDelegate

を作成します。したがって、続行する前にヘッダーファイル.hにプロトコルを追加することを忘れないでください。実装では

、このメソッドを作成

- (BOOL) navigator:(TTBaseNavigator *)navigator shouldOpenURL:(NSURL *)URL { 
     // Now you can catch the clicked URL, and can do whatever with it 
     // For Example: In my case, I take the query of the URL 
     // If no query is available, let the app open the URL in Safari 
     // If there's query, get its value and process within the app 

     NSString *query = URL.query; 

     if (query == nil) { 
      return YES; 
     } else { 
      // process the query 
     } 
    } 

私はこれが役に立てば幸い!これがあなたの問題の解決に役立つなら、私に投票してください!

よろしく、

タン