ios - UILabel:使用 AutoLayout 将字体大小调整为高度

标签 ios uilabel autolayout

我想有几个标签一个在另一个之下。使用 AutoLayout 调整大小,我希望字体尽可能大。 adjustsFontSizeToFitWidth仅适用于宽度,但我得到以下结果

enter image description here

最佳答案

您可以通过调用重新计算您的内容高度(如果尚未将布局构建为表格 View ,则可能会更容易管理):

[cell.contentView systemLayoutSizeFittingSize:UILayoutFittingExpandedSize].height;

我还必须为特定目的对其进行硬编码(添加为 UIFont 类别):
+ (int)contentSizeHeightForItem {
    NSString *cat = [[UIApplication sharedApplication] preferredContentSizeCategory];
    if([cat isEqualToString:UIContentSizeCategoryExtraSmall]) {
        return 84;
    } else if([cat isEqualToString:UIContentSizeCategorySmall]) {
        return 86;
    } else if([cat isEqualToString:UIContentSizeCategoryMedium]) {
        return 88;
    } else if([cat isEqualToString:UIContentSizeCategoryLarge]) {
        return 92;
    } else if([cat isEqualToString:UIContentSizeCategoryExtraLarge]) {
        return 94;
    } else if([cat isEqualToString:UIContentSizeCategoryExtraExtraLarge]) {
        return 98;
    } else if([cat isEqualToString:UIContentSizeCategoryExtraExtraExtraLarge]) {
        return 102;
    }
    return 80;
}

关于ios - UILabel:使用 AutoLayout 将字体大小调整为高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21270091/

相关文章:

ios - 单击TableViewCell时如何将数据从NSObject传递到另一个ViewController?

ios - 如何在IOS上构建IOS应用程序?

iphone - 如何以编程方式清除 iPhone 上的浏览​​器缓存?

javascript - window.close() 和 iOS

ios - 如何在 swift 中重用 uitableviewCell 和自动布局?

ios - UIlabel 中的 UITapGestureRecognizer 错误

ios - 如何防止 UILabel 将最后一个 'short' 单词粘到前一个单词上?

ios - boundingRectWithSize为UILabel添加了额外的底部填充

ios - 动画 UIView 的同级立即进入最终位置

ios - iOS什么时候移除不活跃的约束