TTStyledText中的URL和图像

时间:2010-02-16 21:51:45

标签: iphone objective-c three20 ttstyledtextlabel

您好我创建了一个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;

我的[content objectForKey:@"content"]的NSLog返回如下内容:

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

我的链接在我的标签中突出显示,但它们无法点击。

我在UIViewController中的- (void)viewDidLoad初始化了我的textlabel

2 个答案:

答案 0 :(得分:4)

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

如果你要将网址添加到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]];

这会将所有网址映射到TTWebController,这将打开一个webview进行浏览

答案 1 :(得分:0)

我遇到同样的问题。尝试使用

[navigator  setRootViewController:"your main controller";] 

这对我有用。