iOS根据字符串数目,自定义Label等控件的高度

mac2024-11-25  113

利用分类,NSString,增加一个方法。

 

#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface NSString (Height) + (CGSize)getRect:(NSString *)textStr andWidth:(CGSize)size andFont:(UIFont *)font; @end

 

 

#import "NSString+Height.h" @implementation NSString (Height) + (CGSize)getRect:(NSString *)textStr andWidth:(CGSize)size andFont:(UIFont *)font { CGRect rect = [textStr boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font} context:nil]; return rect.size; } @end

 

使用:

CGSize size = [NSString getRect:str andWidth:CGSizeMake(IOS_SCREEN.size.width/2 - 10, CGFLOAT_MAX) andFont:[UIFont systemFontOfSize:14]];

 

其中: str 是将要计算的字符串, IOS_SCREEN.size.width/2 - 10 是宽度, [UIFont systemFontOfSize:14]是设置字号 这些需要自己根据情况写;
最新回复(0)