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;