我有一个UILabel
,其长度可以变化,这取决于我的应用程序是否在iPhone或iPad上以纵向或横向模式运行。当文本太长而无法在一行上显示并且被截断时,我希望用户能够按下它并弹出全文本。
如何检查UILabel
是否将文本截断?可能吗?现在,我只是根据自己所处的模式来检查不同的长度,但是它不能很好地工作。
最佳答案
您可以计算width of the string并查看宽度是否大于label.bounds.size.width
NSString UIKit Additions有几种方法可以计算具有特定字体的字符串的大小。但是,如果您的标签具有minimumFontSize,则允许系统将文本缩小到该大小。在这种情况下,您可能要使用sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:。
CGSize size = [label.text sizeWithAttributes:@{NSFontAttributeName:label.font}];
if (size.width > label.bounds.size.width) {
...
}
关于ios - 如何检查UILabel是否被截断?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3077109/