iOS开发系列之二 – UILabel 用法小结

// 初始化标签
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 150)];
// 设置标签文字
label.text = @"This is a test text.This is a test text.This is a test text.";
// 设置标签文字字体
// 使用系统字体
label.font = [UIFont systemFontOfSize:20];
// 使用系统字体加粗
//label.font = [UIFont boldSystemFontOfSize:20];
// 指定字体
//label.font = [UIFont fontWithName:@"Arial" size:20];
// 设置标签文字颜色
label.textColor = [UIColor redColor];
// 设置标签背景颜色
label.backgroundColor = [UIColor clearColor];
// 设置标签文字对齐方式
label.textAlignment = NSTextAlignmentCenter;

// iOS7中文本对齐方式有以下几种:
//    enum {
//        NSTextAlignmentLeft      = 0,  左对齐,默认
//        NSTextAlignmentCenter    = 1,  居中对齐
//        NSTextAlignmentRight     = 2,  右对齐
//        NSTextAlignmentJustified = 3,  在一个段落的最后一行自然对齐
//        NSTextAlignmentNatural   = 4,  默认对齐方式
//    } NSTextAlignment;

// 设置标签文字自动折行方式
label.lineBreakMode = NSLineBreakByWordWrapping;

// 文本自动折行方式有以下几种:
//    enum {
//        NSLineBreakByWordWrapping = 0,  以单词为显示单位显示,后面部分省略不显示,默认
//        NSLineBreakByCharWrapping,      以字符为显示单位显示,后面部分省略不显示
//        NSLineBreakByClipping,          剪切与文本宽度相同的内容长度,后半部分被删除
//        NSLineBreakByTruncatingHead,    开头省略,显示尾部文字内容
//        NSLineBreakByTruncatingTail,    结尾省略,显示开头的文字内容
//        NSLineBreakByTruncatingMiddle   中间省略,显示头尾的文字内容
//    } NSLineBreakMode;

// 设置标签文字行数,0表示多行
label.numberOfLines = 0;
// 设置阴影颜色
[label setShadowColor:[UIColor blackColor]];
// 设置阴影偏移量
[label setShadowOffset:CGSizeMake(-1, -1)];
// 改变字母之间的间距来适应Label大小
label.adjustsLetterSpacingToFitWidth = NO;
// 设置字体大小适应label宽度
label.adjustsFontSizeToFitWidth = YES;
// 如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为
label.baselineAdjustment = UIBaselineAdjustmentNone;

// 文本基线类型有以下几种:
//    typedef enum {
//        UIBaselineAdjustmentAlignBaselines,  文本最上端与中线对齐,默认
//        UIBaselineAdjustmentAlignCenters,    文本中线与标签中线对齐
//        UIBaselineAdjustmentNone,            文本最底端与标签中线对齐
//    } UIBaselineAdjustment;

//设置能否与用户进行交互
label.userInteractionEnabled = YES;
//设置标签文字是否可变,默认为YES
label.enabled = NO;
// 设置标签边框
label.layer.borderColor = [[UIColor grayColor] CGColor];
// 设置边框粗细
label.layer.borderWidth = 2;

// 多行标签高度自适应
// 设置标签字体属性
NSDictionary *labelAttributes = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:20], NSFontAttributeName, nil];
// 获取标签根据文本和字体自适应后的高度,此处CGSizeMake为最大外框大小
CGFloat labelHeight = [@“This is a test text.This is a test text.This is a test text.” boundingRectWithSize:CGSizeMake(280, 200) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:labelAttributes context:nil].size.height;

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

验证码已失效,请刷新验证码