问题描述
|
我需要显示包含HTML标记等的文本,并且TTStyledTextLabel符合要求。.....但它不会滚动。
我在UITextView中放置了一个,但是这拒绝滚动?如果我直接在UITextView中输入文本,它会滚动OK,但随后会看到所有未格式化的HTML。
有没有一种方法可以将TTStyledTextLabel设置为滚动?
谢谢
解决方法
尝试将ѭ0放入
UIScrollView
中。
或者,您可以考虑直接使用UIWebView
。
, 我终于找到了合适的工作...
CGSize约束大小;
CGSize stringSize;
//预留过多的空间
constraintSize.width = 300;
约束Size.height = 2000;
NSString * s = @ \“这可以是根据需要而定的长或短文本...;
UIFont * f = [UIFont fontWithName:@ \“ Arial \” size:14];
stringSize = [s sizeWithFont:fconstrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
//创建一个标签以容纳文本
UILabel * l = [[UILabel alloc] initWithFrame:CGRectMake(14,2,stringSize.width,stringSize.height)];
l.text = s;
[l setNumberOfLines:0];
[l sizeToFit];
//现在创建一个TTStyledTextLabel以匹配我们上面刚刚获得的大小
TTStyledTextLabel * tl = [[TTStyledTextLabel分配] initWithFrame:[l frame]];
//使用链接等设置文本
tl.text = [TTStyledText textFromXHTML:l.text lineBreaks:YES URLs:YES];
[tl setBackgroundColor:[UIColor clearColor]];
tl.textColor = [UIColor whiteColor];
UIScrollView * sv = [[UIScrollView alloc] initWithFrame:CGRectMake(0,185,320,300)];
//调整滚动视图的内容大小以适应TTStyledTextLabel
[sv setContentSize:CGSizeMake(tl.frame.size.width,tl.frame.size.height)];
[sv addSubview:tl];
[self.view addSubview:sv];
现在,我可以使用自动调整大小的TTStyledTextLabel进行滚动;-)