UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(20, 40, 280, 80)]; //创建UILabel
label.backgroundColor = [UIColor grayColor]; //设置背景色
label.tag = 12; //设置tag
label.text = @"Hello World"; //设置内容
label.font = [UIFont fontWithName:@"Arial" size:30]; //设置内容字体和字体大小
label.adjustsFontSizeToFitWidth = YES; //文本自适应大小 只会变小 当numberOfLines为1时才有效
label.minimumFontSize = 12; //文本自适应缩小的最小字体大小 默认为 0.0 上面要YES
label.textColor = [UIColor blueColor]; //文本颜色
label.numberOfLines = 2; //文本最多行数,为0时没有最大行数限制
label.highlighted = YES; //文本高亮
label.enabled = YES; //文本是否可变
label.backgroundColor = [UIColor clearColor]; //设置label的背景色透明
label.shadowColor = [UIColor grayColor]; //文本阴影颜色
label.shadowOffset = CGSizeMake(1.0, 1.0); //阴影偏向 第一个横向 >0 向右 < 0向左 第二个纵向 >0 向下 < 0向上
label.userInteractionEnabled = YES; //是否与用户交互
label.lineBreakMode = UILineBreakModeTailTruncation; //文本超出label边界文本的截取方式
typedef enum {
UILineBreakModeWordWrap = 0, 以空格为边界,保留整个单词,默认方式
UILineBreakModeCharacterWrap, 保留整个字符
UILineBreakModeClip, 到边界为止
UILineBreakModeHeadTruncation, 省略开始,以....代替
UILineBreakModeTailTruncation, 省略结尾,以....代替
UILineBreakModeMiddleTruncation,省略中间,以....代替
} UILineBreakMode;
label.baselineAdjustment = UIBaselineAdjustmentNone; //baselineAdjustment这个值控制文本的基线位置,只有label.adjustsFontSizeToFitWidth = YES;时有效自适应大小要有效 label.numberOfLines为1
typedef enum {
UIBaselineAdjustmentAlignBaselines = 0, 默认设置文本最上端与label中线对齐
UIBaselineAdjustmentAlignCenters, 文本中线与label中线对齐
UIBaselineAdjustmentNone, 文本最低端label中线对齐
} UIBaselineAdjustment;
label.textAlignment = UITextAlignmentCenter; //设置文本对齐方式 中间对齐
typedef enum {
UITextAlignmentLeft = 0, 左对齐默认方式
UITextAlignmentCenter, 中间对其
UITextAlignmentRight, 右对齐
} UITextAlignment;
[self.window addSubview:label]; //把label加到当前窗口上
[label release]; //释放掉label
UILabel自适应高度和自动换行
UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)]; //初始化label
[label setNumberOfLines:0]; //设置自动行数与字符换行
label.lineBreakMode = UILineBreakModeWordWrap;
NSString *s = @"这是一个测试!!!adsfsaf时发生发勿忘我勿忘我勿忘我勿忘我勿忘我阿阿阿阿阿阿阿阿阿阿阿阿阿啊00000000阿什顿。。。"; // 测试字串
UIFont *font = [UIFont fontWithName:@"Arial" size:12];
CGSize size = CGSizeMake(320,2000); //设置一个行高上限
CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap]; //计算实际frame大小,并将label的frame变成实际大小
label1.frame = CGRectMake(0, 0, labelsize.width, labelsize.height);