#define FRONTWITHSIZE(frontSize) [UIFont fontWithName:@"MicrosoftYaHei" size:frontSize]
#define RGB(__r, __g, __b) [UIColor colorWithRed:(1.0*(__r)/255)\
green:(1.0*(__g)/255)\
blue:(1.0*(__b)/255)\
alpha:1.0]
NSString * content = [NSString stringWithFormat:@"%@", @"这是一个普通的Label,这是一个普通的Label,这是一个普通的Label。"];
content = [NSString stringWithFormat:@"%@\n%@", content, content];
customLab = [[UILabel alloc] init];
customLab.text = content;
//使用自定义字体
customLab.font = FRONTWITHSIZE(16.f);
//设置字体颜色
customLab.textColor = RGB(44, 93, 205);
//设置换行模式
customLab.lineBreakMode = NSLineBreakByWordWrapping;
//当设置为0的时候,为最大行数,根据实际情况调
customLab.numberOfLines = 0;
//根据字符串长度和Label显示的宽度计算出customLab的高,如果那个需要获得,则设置为MAXFLOAT
CGSize customLabSize = [content sizeWithFont:customLab.font constrainedToSize:CGSizeMake(290.f, MAXFLOAT) lineBreakMode:customLab.lineBreakMode];
float customLabHeight = customLabSize.height;
NSLog(@"customLab height:%f", customLabHeight);
customLab.frame = CGRectMake(15.f, 100.f + labelHeight, 290.f, customLabHeight);
[self.view addSubview:customLab];
对于字符串太长,超过UILabel的宽度问题:
如果UILabel高度够高,超过字体高度一些,则当字符串长度超过UILabel时,超出部分会变成。。。
如果UILabel高度不够,则会出现显示才错误,整个字符串都会往下移动,看不到完整的字体,只有一半的高度。会导致错误。所以UILabel的高度一定要够