object-C 判断一个UILabel能不能一行显示一段文本

- (BOOL)canDisplayInSingleLine:(UILabel *)label {
    
    if (!label.text || label.text.length == 0) return YES;
    
    CGSize constraint = CGSizeMake(CGFLOAT_MAX, label.font.lineHeight);
    CGRect rect = [label.text boundingRectWithSize:constraint
                                           options:NSStringDrawingUsesLineFragmentOrigin
                                        attributes:@{NSFontAttributeName: label.font}
                                           context:nil];
    
    return CGRectGetWidth(rect) <= label.bounds.size.width;
}

  

done

 

posted @ 2025-05-27 11:46  liskov_design  阅读(7)  评论(0)    收藏  举报