【发布时间】:2014-01-21 03:24:40
【问题描述】:
我正在开发一个必须同时支持 iOS6 和 iOS7 的项目。我的问题是它在不同系统上的工作方式不同。我正在尝试创建行数等于 2 的 UILabel,但是当我将其换行模式设置为 NSLineBreakByTruncatingTail 时,它的工作方式不同。
解释(numberOfLines = 2, text = @"long teexxxttt"):
iOS7 iOS6
NSLineBreakByWordWrapping
---------- ----------
|long | |long |
|teeeexxxtt| |teeeexxxtt|
---------- ----------
NSLineBreakByTruncatingTail
---------- ----------
|long | |long te...|
|teeeexx...| | |
---------- ----------
^ ^
| |
correct incorrect - shows only one line
我该如何解决?
【问题讨论】:
-
如果想要ios7中两行的内容,可以使用NSLineBreakByWordWrapping模式
-
确保你的标签框没有被改变,检查一下。你能打印两个版本的标签框吗?\
-
@Virussmca 它正在发生变化(但对于两个 iOS 来说都是一样的),这是问题所在吗?我在更改框架后设置这些属性。
-
@CoolMonster 同时我最后需要“...”。
-
@TimurBernikowich:你能在设置属性后为这两个版本打印标签框吗?
标签: ios objective-c swift cocoa-touch uilabel