2

こんにちは私はTTStyledTextLabelを作成しました、うまくいきます。

今私はURLをクリック可能にしたい、私はこれをしました:

textLabel.text = [TTStyledText textFromXHTML:[content objectForKey:@"content"] lineBreaks:YES URLs:YES];

しかし、私のリンクはまだクリックできません。最初にUIWebViewを設定する必要がありますか?どこで宣言しますか?

もう1つは、TTStyledTextLabel内の画像のサイズを変更してラベルサイズに合わせることができるかどうかです。

前もって感謝します

// 編集

私が正確にしたこと:

textLabel = [[TTStyledTextLabel alloc] initWithFrame:CGRectMake(0.0f, 70.0f, 320.0f, 297.0f)];
textLabel.contentInset = UIEdgeInsetsMake(20, 15, 20, 15);
textLabel.font = [UIFont systemFontOfSize:14];
textLabel.text = [TTStyledText textFromXHTML:[content objectForKey:@"content"] lineBreaks:YES URLs:YES];
[textLabel sizeToFit];
//CGFloat height = textLabel.height;
[scrollView addSubview:textLabel];
scrollView.contentSize = textLabel.frame.size;

私のNSLogは次の[content objectForKey:@"content"]ようなものを返します:

<a href="http://www.abc.com/">Download-Link</a>

リンクはラベルで強調表示されていますが、クリックできません。

UIViewControllerでテキストラベルを初期化し- (void)viewDidLoadました

4

2 に答える 2

4
the [content objectForKey:@"content"] should return data containing <a href="url">string to display</a>

URLをTTURLMapに追加すると、関連するコントローラーも開きます

次のコード スニペットが機能するはずです

self = [super init];
TTStyledTextLabel* label = [[[TTStyledTextLabel alloc]   initWithFrame:CGRectMake(0, 0, 320, 230)] autorelease];
label.text = [TTStyledText textFromXHTML:@"<a href=\"aa://link1\">link</a> text" lineBreaks:YES URLs:YES];
[label setFont:[UIFont systemFontOfSize:16]];
[[self view] addSubview:label];

//編集

したがって、TTNavigator を使用している場合は、おそらく URLMap で "*" をマップする必要があります。たとえば、次のようになります。

TTNavigator* navigator = [TTNavigator navigator];

navigator.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[navigator.window makeKeyAndVisible];

TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];

これにより、すべての URL が TTWebController にマップされます。TTWebController は、閲覧する Web ビューを開きます。

于 2010-02-17T17:17:47.343 に答える
0

私は同じ問題を抱えています。使用してみてください

[navigator  setRootViewController:"your main controller";] 

それは私のための仕事です。

于 2010-07-12T09:06:48.367 に答える