首先来说一说ios中的 lineBreakModelineBreakMode : 设置文字过长时的显示截断样式
可选值如下
byWordWrapping: 以单词为单位换行,以单词为单位截断。byCharWrapping:以字符为单位换行,以字符为单位截断。byClipping: 以单词为单位换行,以字符为单位截断。byTruncatingHead: 以单词为单位换行, 如果是单行,则开始部分有省略号。如果是多行,则中间有省略号。byTruncatingTail: 以单词为单位换行, 无论是单行还是多行,都是末尾有省略号。byTruncatingMiddle: 以单词为单位换行, 无论是单行还是多行,都是中间有省略号。
三种省略方式如下

byTruncatingHead为头部截断,但是文字为多行时省略的是中间内容而不是头部内容,下面我们就来实现多行文字,文字超过设定行数后省略头部的功能
首先根据容器的宽度和字体的大小计将文本分割成多行
func splitTextIntoLines(text: String, width: CGFloat, font: UIFont) -> [String] {
let textBox = CGSize(width: width, height:

本文详细介绍了iOS中的lineBreakMode属性在处理文本过长时的不同截断选项,如按单词或字符换行,并提供了如何根据容器宽度和字体分割多行文本以及实现特定省略策略的代码示例。
最低0.47元/天 解锁文章
14

被折叠的 条评论
为什么被折叠?



