如何计算uilabel里面文字的行数

如何计算uilabel里面文字的行数,第1张

技术点:UILabel的自动换行,自动换行的同时要自适应Frame大小。UITableView的行高自适应内容,实时调整高度。实现方法:UILabel的自动换行获取UILabel的frame大小获取UILabel的字体大小获取UILabel的文本内容根据上面的3部分数据,计算文本显示区域大小根据4计算的大小,实时改变UILabel的framecode如下:NSStringlabelStr=@“你好,这是UILabel的自动换行测试内容,主要实现多行数据的自动换行,自适应不同行数的数据”;CGSizelabelSize={0,0};labelSize=[labelStrsizeWithFont:[UIFontsystemFontOfSize:14]constrainedToSize:CGSizeMake(2000,5000)lineBreakMode:UILineBreakModeWordWrap];//14为UILabel的字体大小//200为UILabel的宽度,5000是预设的一个高度,表示在这个范围内

table view不会对所有行都生成CELL对象,展示时是重用的。当然如果你的行数不多,你可以不使用重用机制,为每行创建独立的CELL,并保存到自己的ARRAY,需要时自己遍历好了,不知道别的还有没有好的办法

在做tableView的时候,我们有时候需要根据cell的高度动态来调整,最近在网上看到一段代码不错,跟大家Share一下。

-(UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath )indexPath{

类中获取cell的高度:

CGSize boundSize = CGSizeMake(216, CGFLOAT_MAX);

celltextLabeltext = @"12345678900123456789";

celluserInteractionEnabled = NO;

celltextLabelnumberOfLines = 0;

CGSize requiredSize = [celltextLabeltext sizeWithFont:[UIFont systemFontOfSize:13] constrainedToSize:boundSize lineBreakMode:UILineBreakModeWordWrap];

CGRect rect = cellframe;

rectsizeheight = requiredSizeheight+5;

cellframe = rect;

这时候获取到了cell的高度,然后在

- (CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath {

类中改变cell的高度:

UITableViewCell cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];

NSLog(@"cell height %f",cellframesizeheight);

return cellframesizeheight;

这样以来cell的高度就根据cell里label的内容自动改变啦。

其主要出发点就是我有一个label,然后我要把这个label展示出来,我根据字体的大小还有行数来获取一个高度,这样cell的高度就有啦。

以上就是关于如何计算uilabel里面文字的行数全部的内容,包括:如何计算uilabel里面文字的行数、如何获取UITableView所有的cell、如何调整cell的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9521611.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存