基于YYtext自动计算lable的高度或宽度

一:使用方式


二:实现方法

BasisYYLableCalculationHeightAndWidth.h

#import#import@interface BasisYYLableCalculationHeightAndWidth : NSObject

/**

*  @param message lable.text

*  @param lable (YYLabel *)label

*  @return lable的高度

*/

+ (CGFloat)getLableHeight:(NSString *)message yyLabel:(YYLabel *)lable lineSpacing:(CGFloat)lineSpace stringFont:(UIFont *)font;

/**

*  @param message lable.text

*  @param lable (YYLabel *)label

*  @return lable的宽度

*/

+ (CGFloat)getLableWidth:(NSString *)message yyLabel:(YYLabel *)lable stringFont:(UIFont *)font;

@end

BasisYYLableCalculationHeightAndWidth.m

#import "BasisYYLableCalculationHeightAndWidth.h"#import@implementation BasisYYLableCalculationHeightAndWidth

+ (CGFloat)getLableHeight:(NSString *)message yyLabel:(YYLabel *)lable lineSpacing:(CGFloat)lineSpace stringFont:(UIFont *)font;

{

    NSMutableAttributedString *introText = [[NSMutableAttributedString alloc] initWithString:message];

    introText.yy_font = font;

    introText.yy_lineSpacing = lineSpace;//行间距

    lable.attributedText = introText;

    CGSize introSize = CGSizeMake(lable.frame.size.width, CGFLOAT_MAX);

    YYTextLayout *layout = [YYTextLayout layoutWithContainerSize:introSize text:introText];

    lable.textLayout = layout;

    CGFloat introHeight = layout.textBoundingSize.height;

    return introHeight;

}

+ (CGFloat)getLableWidth:(NSString *)message yyLabel:(YYLabel *)lable stringFont:(UIFont *)font;

{

    NSMutableAttributedString *introText = [[NSMutableAttributedString alloc] initWithString:message];

    introText.yy_font = font;

    lable.attributedText = introText;

    CGSize introSize = CGSizeMake(CGFLOAT_MAX, lable.frame.size.height);

    YYTextLayout *layout = [YYTextLayout layoutWithContainerSize:introSize text:introText];

    lable.textLayout = layout;

    CGFloat introWidth = layout.textBoundingSize.width;

    return introWidth;

}

@end

感谢YYKit作者:郭曜源

传送门:

            YYKit

            YYText

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容