0

このコントロールをハイパーテキスト リンクで動作させようとしていますが、あまり成功していません。TTCalaog を見て、複製しようとしましたが、機能しません。

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

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

NSString* labelText = @"これは機能するはずです";

label.text = [TTStyledText textFromXHTML:labelText lineBreaks:NO URLs:YES];

[self.view addSubview:label];

おそらくGoogleのURLの配置で、ここでポイントが欠けていると思いますか?TTURLMap と TTNavigator で設定される custom-uri://some/url を使用するこのフォーラムの投稿を見たことがありますが、Web ビューのハイパーテキストから URL を開く必要があるため、URL が必要です。クラスでメソッドを実行して、webview コントローラーなどを作成します。

TTNavigator なしで動作するように TTURLMap をカスタマイズしようとしましたが、完全に酸っぱいですか?

どんな助けでも感謝します;-)

ありがとう

4

1 に答える 1

1

クリックされた URL を TTStyledTextLabel でキャッチするソリューションを見つけました。これがあなたの場合にも役立つことを願っています。

これが私がやったことです。

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
        }
    }

これが役立つことを願っています!これが問題の解決に役立つ場合は、私に投票してください!

よろしくお願いします、

タン

于 2011-06-30T03:24:28.843 に答える