UILabel学习总结

UILabel属性与应用学习总结
本文详细介绍了UILabel的创建、属性设置以及应用实例,包括文本、颜色、对齐方式、字体大小、背景颜色、自动折行、高亮显示、阴影效果、基线调整等特性,帮助开发者更好地理解和运用UILabel。

# UILabel的学习总结

UIlabelUIView的子类可以继承UIView的属性及方法

##UILabel创建及属性设置


/*创建*/

UILabel *label = [[UILabel 

alloc]initWithFrame:CGRectMake(10, 30, 360, 60)];


/*设置背景颜色*/

label.backgroundColor = [UIColor greenColor];

/*设置label的文本*/

label.text = @"我是中国人";


/*设置label上的文字的颜色*/

label.textColor = [UIColor readColor];


/*自动折行设置 文本显示的行数,默认值是一行,0是自动显示不限制行数*/

label.lineBreakMode = UILineBreakModeWordWrap;    

label.numberOfLines = 0;  

/**lineBreakMode用于段落**/

label.lineBreakMode = NSLineBreakByClipping;


/*lineBreakMode 设置过长文本中间为省略号*/

label.lineBreakMode = NSLineBreakByTruncatingMiddle; 

 



/*textAligment 设置对齐的方式为居中,还有分别为:

 NSTextAlignmentLeft      = 0,

   NSTextAlignmentCenter    = 1,

   NSTextAlignmentRight     = 2,

   NSTextAlignmentJustified = 3,

   NSTextAlignmentNatural   = 4,*/

label.textAligment = NSTextAlignmentCent;


/*font设置字体大小,默认17*/

/*一般方法*/

label.font = [UIFont systemFontOfSize:20]; 

/*加粗的方法*/

label.font = [UIFont boldSystemFontOfSize:20]; 

/*指定*/

label.font = [UIFont fontWithName:@"Arial" size:16]; 


/*enabled //只是决定了Label的绘制方式,将它设置

NO将会使文本变暗,表示它没有激活,这时向它设置颜色值是无效的。*/

label.enable = NO;


/*highlighted 是否高亮显示*/

label.highlighted = YES;

/*高亮显示时的文本颜色*/

label.highlightedTextColor = [UIColor orangeColor];

 

/*ShadowColor 设置阴影颜色*/

[label setShadowColor:[UIColor blackColor]];


/*ShadowOffset 设置阴影偏移量*/

[label setShadowOffset:CGSizeMake(-1, -1)];


/*baselineAdjustment //如果adjustsFontSizeToFitWidth属性设

置为YES,这个属性就来控制文本基线的行为*/

label.baselineAdjustment = UIBaselineAdjustmentNone;


/*默认,文本最上端与中线对齐。*/

UIBaselineAdjustmentAlignBaselines = 0,

&&UIBaselineAdjustmentAlignCenters,文本中线与label中线对齐。

&&UIBaselineAdjustmentNone, 文本最低端与label中线对齐。


/*Autoshrink是否自动收缩*/


/**Fixed Font Size 默认,如果Label宽度小于文字长度时时,文字大小不自动缩放

minimumScaleFactor 设置最小收缩比例,如果Label宽度小于文字长度时,文字进行收缩,收缩超过比例后,停止收缩。

minimumFontSize 设置最小收缩字号,如果Label宽度小于文字长度时,文字字号减小,低于设定字号后,不再减小。//6.0以后不再使用了。**/

label.minimumScaleFactor = 0.5;



/*adjustsLetterSpacingToFitWidth改变字母之间的间距来适应Label大小*/

myLabel.adjustsLetterSpacingToFitWidth = NO;


/*lineBreakMode设置文字过长时的显示格式*/  

/*以字符为显示单位显示,后面部分省略不显示*/         

label.lineBreakMode = NSLineBreakByCharWrapping;


/*剪切与文本宽度相同的内容长度,后半部分被删除.*/

label.lineBreakMode = NSLineBreakByClipping;


/*前面部分文字以……方式省略,显示尾部文字内容.*/

label.lineBreakMode = NSLineBreakByTruncatingHead;

/*中间的内容以……方式省略,显示头尾的文字内容。*/

label.lineBreakMode = NSLineBreakByTruncatingMiddle;

/*结尾部分的内容以……方式省略,显示头的文字内容*/

label.lineBreakMode = NSLineBreakByTruncatingTail;


/*以单词为显示单位显示,后面部分省略不显示。*/

label.lineBreakMode = NSLineBreakByWordWrapping;


/*adjustsFontSizeToFitWidth //设置字体大小适应label宽度*

label.adjustsFontSizeToFitWidth = YES;


/*attributedText:设置标签属性文本.*/

NSString *text = @"first";

NSMutableAttributedString *textLabelStr =

[[NSMutableAttributedString alloc]

initWithString:text];

[textLabelStr

setAttributes:@{NSForegroundColorAttributeName :

[UIColor lightGrayColor], NSFontAttributeName :

[UIFont systemFontOfSize:17]} range:NSMakeRange(11,

10)];

label.attributedText = textLabelStr;


/*竖排文字显示每个文字加一个换行符,这是最方便和简单的实现方式*/

label.text = @"\n\n\n\n\n\n";

label.numberOfLines = [label.text length];



/*计算UIlabel 随字体多行后的高度*/

CGRect bounds = CGRectMake(0, 0, 200, 300);

/*计算20行后的LabelFrame*/

heightLabel = [myLabel textRectForBounds:bounds

limitedToNumberOfLines:20]; 

NSLog(@"%f",heightLabel.size.height);


/*UILabel根据字数多少自动实现适应高度*/

UILabel *msgLabel = [[UILabel alloc]

initWithFrame:CGRectMake(15, 45, 0, 0)];

msgLabel.backgroundColor = [UIColor lightTextColor];

[msgLabel setNumberOfLines:0];

msgLabel.lineBreakMode = UILineBreakModeWordWrap;

msgLabel.font = [UIFont fontWithName:@"Arial" size:12];

CGSize size = CGSizeMake(290, 1000);

msgLabel.text = @"Baseline adjustment options determine how to adjust the position of text in cases where the text must be drawn using a different font size than the one originally specified. For example, with the UIBaselineAdjustmentAlignBaselines option, the position of the baseline remains fixed at its initial location while the text appears to move toward that baseline. Similarly, the UIBaselineAdjustmentNone option makes it appear as if the text is moving upwards towards the top-left corner of the bounding box";

CGSize msgSie = [msgLabel.text sizeWithFont:fonts

constrainedToSize:size];

[msgLabel setFrame:CGRectMake(15, 45, 290, msgSie.height)];



/**渐变字体Label**/

UIColor *titleColor = [UIColor colorWithPatternImage:[UIImage

imageNamed:@"btn.png"]];

NSString *title = @"Setting";

UILabel *titleLabel = [[UILabel alloc]

initWithFrame:CGRectMake(0, 0, 80, 44)];

titleLabel.textColor = titleColor;

titleLabel.text = title;

titleLabel.font = [UIFont boldSystemFontOfSize:20];

titleLabel.backgroundColor = [UIColor clearColor];

[self.view addSubview:titleLabel];

[titleLabel release];


/*Label添加边框*/

titleLabel.layer.borderColor = [[UIColor grayColor] CGColor];

titleLabel.layer.borderWidth = 2;


刚刚开始学习iOS不就,做些总结,不然会忘记,学习室需要经常温故而知新,加油!!!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值