UILabel+Create
#import <UIKit/UIKit.h> @interface UILabel (Create) /** * 创建普通Label * * @param frame frame * @param text text * @param font font * @param textColor textColor * @param backgroudColor backgroudColor * @param textAlignment textAlignment * * @return UILabel */ + (UILabel *)createLabelWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor backgroudColor:(UIColor *)backgroudColor textAlignment:(NSTextAlignment)textAlignment; /** * 创建自增高Label * * @param frame frame * @param text text * @param font font * @param textColor textColor * @param backgroudColor backgroudColor * @param textAlignment textAlignment * * @return UILabel */ + (UILabel *)createAdjustsLabelWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor backgroudColor:(UIColor *)backgroudColor textAlignment:(NSTextAlignment)textAlignment; @end #import "UILabel+Create.h" @implementation UILabel (Create) + (UILabel *)createLabelWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor backgroudColor:(UIColor *)backgroudColor textAlignment:(NSTextAlignment)textAlignment { UILabel *label = [[UILabel alloc]initWithFrame:frame]; label.text = text; [label setFont:font]; [label setTextColor:textColor]; if (backgroudColor == nil) { [label setBackgroundColor:[UIColor clearColor]]; } else{ [label setBackgroundColor:backgroudColor]; } [label setTextAlignment:textAlignment]; label.numberOfLines = 0; return label; } + (UILabel *)createAdjustsLabelWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor backgroudColor:(UIColor *)backgroudColor textAlignment:(NSTextAlignment)textAlignment { UILabel *label = [[UILabel alloc]initWithFrame:frame]; label.text = text; [label setFont:font]; [label setTextColor:textColor]; if (backgroudColor == nil) { [label setBackgroundColor:[UIColor clearColor]]; } else{ [label setBackgroundColor:backgroudColor]; } [label setTextAlignment:textAlignment]; label.numberOfLines = 0; CGSize maxNameLabelSize = CGSizeMake(frame.size.width,2000); CGSize labelSize; labelSize = [text boundingRectWithSize:maxNameLabelSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font} context:nil].size; [label setFrame:CGRectMake(frame.origin.x, frame.origin.y, labelSize.width, labelSize.height)]; return label; } // 使用 [self.view addSubview:[UILabel createLabelWithFrame:CGRectMake(10, 100, self.view.frame.size.width-20, 30) text:_str font:[UIFont systemFontOfSize:14.f] textColor:[UIColor redColor] backgroudColor:[UIColor clearColor] textAlignment:NSTextAlignmentLeft]];