TTStyledTextLabel的宽度计算

本文介绍了一种解决TTStyledTextLabel使用sizeThatFits方法时宽度不准确的问题。通过遍历所有TTStyledFrame并计算最大宽度来实现正确的宽度设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用TTStyledTextLabel的sizeThatFits方法得到的宽度一直不对,总是创建时设定Frame的Width,google后发现解决办法:
TTStyledTextLabel* label = [[TTStyledTextLabel alloc] init];     
label.text = [TTStyledText textFromXHTML:myTextToBeDisplayed];     
[label sizeToFit];   
  
CGFloat maxWidth = 0;     
TTStyledFrame *f = label.text.rootFrame;     
while (f) {         
  int w = f.x + f.width;         
  if (w > maxWidth) {             
     maxWidth = w;         
  }         
f = f.nextFrame;     
}     
return CGSizeMake(maxWidth, label.frame.size.height);
原文链接:http://stackoverflow.com/questions/4573936/how-to-adjust-width-of-ttstyledtextlabel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值