ios - IOS 是否可以检测标签是否即将溢出?

标签 ios objective-c iphone ipad

在我的应用程序中,我有一个 UILabel ,它包含越来越多的条目,因此例如每次用户按下按钮时,标签末尾都会附加“1”。 但是,我希望能够检测到向标签添加附加条目时会导致它超出其容器的大小并成为丑陋的“111...”标签,其所需的行为类似于:

int maximumLengthBeforeOverrun = self.maximumLengthBeforeLabelOverrun;
if(label.text.length > maximumLengthBeforeOverrun) {
    NSString * newLabel = [label.text substringTo:label.text.length - 1]
    label.text = newLabel;
}
label.text = [label.text appendWithString:toAppend]

我的问题是 IOS SDK 中是否有某种方法可以为我执行此操作?或者我应该使用不同的方法来显示信息?

最佳答案

您可以使用sizeWithFont

NSString *str = @"Test String";
CGSize size = [str sizeWithFont:label.font];

然后使用size与label.frame.size进行比较

关于ios - IOS 是否可以检测标签是否即将溢出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11284181/

相关文章:

ios - 带有文本和图像的可编辑 UITextView?

objective-c - 如何本地化 iOS 8 今天的扩展小部件以及小部件名称

ios - iPad 上的 UISplitViewController : stopping Master view to appear when touching on detail view

iphone - 如何在 UIWebView 中进行搜索?

ios - 创建基于自动布局的指标 View

iphone - iOS开发中如何处理自定义事件?

ios - 如何延迟登录 iOS

ios - 使用 iOS,如何检查 URL 是否为空

ios - Carthage,在自己的框架中嵌入第三方框架

iphone - NSEntityMigrationPolicy 子类方法未被调用