我有一个UILabel
,它的长度可以根据我的应用程序在iPhone或iPad上是以纵向模式还是横向模式运行而有所不同.当文本太长,无法显示在一行,它截断,我希望用户能够按下它,并得到一个完整的文本弹出窗口.
如何判断UILabel
是否在截断文本?这有可能吗?现在我只是根据我所处的模式判断不同的长度,但它不能很好地工作.
我有一个UILabel
,它的长度可以根据我的应用程序在iPhone或iPad上是以纵向模式还是横向模式运行而有所不同.当文本太长,无法显示在一行,它截断,我希望用户能够按下它,并得到一个完整的文本弹出窗口.
如何判断UILabel
是否在截断文本?这有可能吗?现在我只是根据我所处的模式判断不同的长度,但它不能很好地工作.
你可以计算width of the string,看看宽度是否大于label.bounds.size.width
NSString UIKit Additions有几种方法可以计算特定字体的字符串大小.但是,如果标签的最小字体大小允许系统将文本缩小到该大小.在这种情况下,您可能需要使用sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:.
CGSize size = [label.text sizeWithAttributes:@{NSFontAttributeName:label.font}];
if (size.width > label.bounds.size.width) {
...
}