计算UIlabel中文本周围的最小矩形

时间:2014-10-28 18:11:27

标签: ios uilabel nsattributedstring

我以编程方式创建了一些文本 文本获取属性,然后返回到显示的视图控制器 最初我创建了一个最大高度为40的矩形UIlabel 因此,如果文本太大,则字体大小减小以适合矩形 应用于文本adjustsFontSizeToFitWidth 如果文本很小,矩形中有很多空白区域(顶部和底部) 那时候是否有可能得到最小的矩形包围我的文字 谢谢

NSAttributedString * Text=[circleModel.Selected_set objectForKey:@"sentence_text"];
CGRect recty;
recty= CGRectMake(mainScreen.size.width*0.55, 100, mainScreen.size.width*0.43,40);

UILabel *Latex_text = [[UILabel alloc] initWithFrame:recty];
Latex_text.AttributedText = Text;
Latex_text.numberOfLines = 0;

Latex_text.adjustsFontSizeToFitWidth = YES;
Latex_text.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:Latex_text];
//Latex_text.backgroundColor = [UIColor whiteColor];

1 个答案:

答案 0 :(得分:0)

使用textRectForBounds怎么样?如果adjustsFontSizeToFitWidth不能很好地发挥它,它应该至少给你一个估计。

UILabel *Latex_text = [[UILabel alloc] init];
Latex_text.AttributedText = Text;
Latex_text.numberOfLines = 0;

Latex_text.adjustsFontSizeToFitWidth = YES;
Latex_text.textAlignment = NSTextAlignmentCenter;
recty.size = [Latex_text textRectForBounds:recty limitedToNumberOfLines:0].size;
[Latex_text setFrame:recty];
相关问题