iOS如何计算标签的高度?

标签 ios iphone basic4android

b4a我们可以通过测量文本高度和 StringUtils 库轻松计算标签的高度,如下所示:

StringUtils.MeasureMultilineTextHeight

但在B4i没有这样的库或选项可以执行此操作,那么我如何在标签(在 ScrollView 中)中加载长文本?

我必须有标签高度(取决于 txt)才能添加其他按钮并查看其底部并制作我的布局

最佳答案

试试这个

- (CGFloat)getLabelHeight:(UILabel*)label
{
    CGSize constraint = CGSizeMake(label.frame.size.width, CGFLOAT_MAX);
    CGSize size;

    NSStringDrawingContext *context = [[NSStringDrawingContext alloc] init];
    CGSize boundingBox = [label.text boundingRectWithSize:constraint
                                                  options:NSStringDrawingUsesLineFragmentOrigin
                                               attributes:@{NSFontAttributeName:label.font}
                                                  context:context].size;

    size = CGSizeMake(ceil(boundingBox.width), ceil(boundingBox.height));

    return size.height;
}

像这样使用

CGFloat lblHeight = [self getLabelHeight:self.yourLable];

关于iOS如何计算标签的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35939625/

相关文章:

ios - 如何在我的 MKMapView 中获得更细粒度的跨度

iphone - 为 iOS 构建 Objective-C XML-RPC 框架

android - 3G 连接设备和 WiFi PC 之间的 UDP

ios - iOS 中钥匙串(keychain)服务的生命周期

ios - 选择单元格时奇怪的表格 View 行为

iphone - 适用于 iPhone 的弹出框 Controller

android - 使用 edittext 作为单词检查器

java - 获取所有联系人时出错

ios - 如何将 TableViewCell 值传递给 Swift 3.0 中的新 ViewController?

ios - 如何不从 ViewDidLoad 中的 NSUserDefaults 获取 nil 值