Tim*_*ich 7 cocoa-touch objective-c uilabel ios swift
我正在开发一个必须支持iOS6和iOS7的项目.我的问题是它在不同的系统上有所不同.我正在尝试使用等于2的行数创建UILabel,但是当我将它的换行模式设置为NSLineBreakByTruncatingTail时,它的工作方式不同.
解释(numberOfLines = 2,text = @"long teeexxxttt"):
iOS7 iOS6
NSLineBreakByWordWrapping
---------- ----------
|long | |long |
|teeeexxxtt| |teeeexxxtt|
---------- ----------
NSLineBreakByTruncatingTail
---------- ----------
|long | |long te...|
|teeeexx...| | |
---------- ----------
^ ^
| |
correct incorrect - shows only one line
Run Code Online (Sandbox Code Playgroud)
我如何解决它?
小智 6
我知道这是一个老问题,但我最近遇到了同样的问题。我发现在约束条件下,我必须设置首选宽度才能使省略号正常运行:
yourLabel.preferredMaxLayoutWidth = width;
Run Code Online (Sandbox Code Playgroud)
UILable.preferredMaxLayoutWidth
问题是 iOS6 及更早版本不会使用自定义 UIFont 和 NSLineBreakByTruncatingTail 更新多行 UILabels,但您可以通过使用自动调整大小或自动布局来存档相同的结果。
| 归档时间: |
|
| 查看次数: |
12956 次 |
| 最近记录: |