ios - WKInterfacelabel 检查是否被截断

标签 ios objective-c watchkit truncated wkinterfacelabel

我想检查 WKInterfacelabel 中的文本是否被截断。由于没有文本属性,而且似乎我无法获得可以在 Storyboard 中设置的行数属性,我想知道是否有任何方法或技巧来实现这一点!?

谢谢 !

最佳答案

您可以使用以下代码获取标签显示给定文本所需的行数。

CGFloat labelWidth = 100.0f;
NSString *text = @"some text";
[self.label setText:text];
[self.label setWidth:labelWidth];
UIFont *font = [UIFont systemFontOfSize:12.0f];
CGRect rect = [text boundingRectWithSize:CGSizeMake(labelWidth, MAXFLOAT)
                                 options:NSStringDrawingUsesLineFragmentOrigin
                              attributes:@{NSFontAttributeName : font}
                                 context:nil];

CGFloat numOfLines =  ceil(rect.size.height / font.lineHeight);

关于ios - WKInterfacelabel 检查是否被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32450007/

相关文章:

objective-c - IOS:无法从 presentedViewController 访问 presentingViewController 的属性和方法

ios - 基于页面的界面使用多个相同的 View Controller

iOS:将亚洲字符中的 NSString 拆分为子字符串

ios - 最大支持的__attribute __((aligned(...))

常量数组和内存管理

ios - 我的应用程序仅在 iOS 10 中返回前台时崩溃

ios - 在 UITableView 中默认重新加载后如何记住选择的行并维护它们?

ios - 如何在核心数据发生变化时预览数据库?

ios - WKInterfaceTable如何识别每一行中的按钮?

ios - pushControllerWithName 不工作