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怎样获取里面文本有多少行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)