iOS小白之路...iOS中基础控件的使用

UIlabel是iOS开发中应用比较广泛的一个基础控件.

uilabel最重要的功能是为我们提供文本展示.

uilabel有哪些常用的属性.

>uilabel.text设置文本标签展示文字

>attributedText:设置标签文本属性

NSString *text = @"test";  
NSMutableAttributedString *tempStr = [[NSMutableAttributedString alloc] initWithString:text];  
[textLabelStr setAttributes:@{NSForegroundColorAttributeName : [UIColor redColor],   
 NSFontAttributeName : [UIFont systemFontOfSize:17]} range:NSMakeRange(0,5)];
label.attributedText = tempStr;  

>uilabel.font = [UIFont systemFontsize:16];//系统的默认字体是17,可以通过font属性来设置文字大小;

>uilabel.textAlignment :用来设置label中文字的对其方式,

    NSTextAlignmentLeft        = 0,    居左

    NSTextAlignmentCenter    = 1,    居中

    NSTextAlignmentRight      = 2,    居右

    NSTextAlignmentJustified  = 3,    居中//注意不能赋值NSString类型如果使用这个属性的话,要使用NSAttributedString

    NSTextAlignmentNatural    = 4,  自然<不是特别了解这个属性>

>uilabel.numberofLines = 0;可以通过numberofLines这个属性来控制label显示文字的行数,如果设置为0表示自适应行数;

>如果当numberofLines设置为0的时候,lineBreakMode就可以在文字过长无法显示完全的时候设置不同的展示模式.

UILabel.lineBreakMode = NSLineBreakByCharWrapping;以字符为显示单位显示,后面部分省略不显示。  
UILabel.lineBreakMode = NSLineBreakByClipping;剪切与文本宽度相同的内容长度,后半部分被删除。  
UILabel.lineBreakMode = NSLineBreakByTruncatingHead;前面部分文字以……方式省略,显示尾部文字内容。  
UILabel.lineBreakMode = NSLineBreakByTruncatingMiddle;中间的内容以……方式省略,显示头尾的文字内容。  
UILabel.lineBreakMode = NSLineBreakByTruncatingTail;结尾部分的内容以……方式省略,显示头的文字内容。  
UILabel.lineBreakMode = NSLineBreakByWordWrapping;以单词为显示单位显示,后面部分省略不显示。

>enabled:设置文字内容是否可变

>adjustsFontSizeToFitWidth:文字内容自适应文字宽度。 

>adjustsLetterSpacingToFitWidth:根据字母的间隔自适应标签宽度,超出部分以……显示。 

>minimumScaleFactor:设置最小字体,与minimumFontSize相同,minimumFontSize在IOS 6后不能使用。 

>highlightedTextColor:设置文本高亮显示颜色,与highlighted一起使用.

>shadowColor:设置文本阴影颜色。 

>shadowColor:设置文本阴影与原文本的偏移量。label.shadowOffset = CGSizeMake(1.0, 5.0);

>userInteractionEnabled:设置标签是否忽略或移除用户交互。默认为NO。

>preferredMaxLayoutWidth:优先选择文字布局的最大宽度。 

>baselineAdjustment:如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为。

>backgroundColor:设置背景颜色

>[btn.label setTextAlignment:NSTextAlignmentCenter];

  [btn.label setLineBreakMode:NSLineBreakByWordWrapping];

  [btn settitle:@"测\n试\n" forState:UIControlStateNormal];//让label垂直展示文字.容器是btn.

>如果是原生的Label的话

UILabel *temp = [[UILabel alloc]init];
    temp.frame = CGRectMake(0, 0, 40, 100);
    [temp setTextAlignment:NSTextAlignmentCenter];
    [temp setLineBreakMode:NSLineBreakByWordWrapping];//当文字超出的时候不会因....显示而是继续显示文字.(网上有人说只有当numberofLines = 1才有效,测试结果是任何数值都有效);
    temp.text = @"加\n载\n更\n多\n";
    temp.numberOfLines = 0;
    temp.textColor = [UIColor blackColor];
    [self.view addSubview:temp];//通过这段代码也可以实现和btn一样.有测试可以得出btn的titleLabel的numberoflines默认是0;

 

posted @ 2016-07-25 20:45  无相小师弟  阅读(185)  评论(0编辑  收藏  举报