URL-адреса и изображения в TTStyledText - PullRequest
2 голосов
/ 17 февраля 2010

Привет, я создал TTStyledTextLabel, работает хорошо.

Теперь я хочу сделать URL кликабельным, я сделал это:

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

но мои ссылки по-прежнему недоступны для клика. Должен ли я сначала настроить UIWebView? Где это объявить?

Другое дело, можно ли изменить размеры изображений внутри моего 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>

Мои ссылки выделены на моем ярлыке, но их нельзя щелкнуть.

я инициализировал свою текстовую метку в - (void)viewDidLoad в UIViewController

Ответы [ 2 ]

4 голосов
/ 17 февраля 2010
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];

// редактировать

Так что вам, вероятно, нужно отобразить "*" в URLMap, если вы используете TTNavigator, что-то вроде:

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, который откроет веб-просмотр для просмотра в

0 голосов
/ 12 июля 2010

У меня такая же проблема. Попробуйте использовать

[navigator  setRootViewController:"your main controller";] 

Это работа для меня.

...