label里的文字如何换行啊

label里的文字如何换行啊,第1张

label标签里面的文字可以使用“<br>”换行

1、新建html文档,在body标签中添加label标签,这时文字将会在一行中显示:

2、在label标签中添加更多的文字,这时如果文字数量超过了浏览器一行可以显示的最大数量,label标签里面的文字将会自动换行:

3、如果label里面的文字过少,可以使用“<br>”标签使label里面的文字换行:

技术点:

UILabel的自动换行,自动换行的同时要自适应Frame大小。

UITableView的行高自适应内容,实时调整高度。

实现方法:

UILabel的自动换行

获取UILabel的frame大小

获取UILabel的字体大小

获取UILabel的文本内容

根据上面的3部分数据,计算文本显示区域大小

根据4计算的大小,实时改变UILabel的frame

code如下:

NSString labelStr = @“你好,这是UILabel的自动换行测试内容,主要实现多行数据的自动换行,自适应不同行数的数据”;

CGSize labelSize = {0, 0};

labelSize = [labelStr sizeWithFont:[UIFont systemFontOfSize:14]

constrainedToSize:CGSizeMake(2000, 5000)

lineBreakMode:UILineBreakModeWordWrap];

//14 为UILabel的字体大小

//200为UILabel的宽度,5000是预设的一个高度,表示在这个范围内

2楼的兄弟,你算列数的方法也太牛逼了吧,那要是文本 有几百万个字符,你那循环要几百万次呀。

最简单的得到行和列的方法:

int totalline = textBox1GetLineFromCharIndex(textBox1TextLength) + 1;//得到总行数。该行数会随着文本框的大小改变而改变;若只认回车符为一行(不考虑排版变化)请用 总行数=textBox1LinesLength;(记事本2是这种方式)

int index = textBox1GetFirstCharIndexOfCurrentLine();//得到当前行第一个字符的索引

int line = textBox1GetLineFromCharIndex(index) + 1;//得到当前行的行号,从0开始,习惯是从1开始,所以+1

int col = textBox1SelectionStart - index + 1;//SelectionStart得到光标所在位置的索引 减去 当前行第一个字符的索引 = 光标所在的列数(从0开始)

以上就是关于label里的文字如何换行啊全部的内容,包括:label里的文字如何换行啊、如何控制uilabel输入多少个字自动换行、C# textbox怎样获取里面文本有多少行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/10064026.html

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

发表评论

登录后才能评论

评论列表(0条)

保存