0
点赞
收藏
分享

微信扫一扫

根据字符串内容、最大宽度和字体计算行宽和高度

余寿 2022-08-18 阅读 70


根据字符串内容、最大宽度和字体计算行宽和高度
计算宽度

    CGSize maxSize = CGSizeMake(MAXFLOAT,45);     //设置字符串的宽高  MAXFLOAT为最大宽度极限值  45为最大高度。若设置为最大宽度是MAXFLOAT则只能计算宽度;当然若设置为有限的值,如:300,则可以计算高度。
CGSize size = [@"微信授权登录" boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size;
CGFloat titleBtnWidth = size.width+shift;

计算宽高

    NSDictionary *attributes = @{NSFontAttributeName : [UIFont systemFontOfSize:14]};     //字体属性,设置字体的font
CGFloat shift = 0.0;
if(@available(iOS 11.0, *)) {
shift = 0.1;//由于计算字符四舍五入问题,iOS11计算的宽度比实际稍低,所以要补偿回来
}

CGSize maxSize = CGSizeMake(300,45); //设置字符串的宽高 300为最大宽度极限值 45为最大高度。
CGSize size = [@"微信授权登录" boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size;
CGFloat titleBtnWidth = size.width+shift;
CGFloat titleBtnHeight = size.height;


举报

相关推荐

0 条评论