ios开发UI篇--UILabel
程序员文章站
2022-05-27 22:15:25
概述 UILabel类实现了一个只读文本视图。你可以使用这个类来画一个或多个静态文本.UILabel类支持既简单又复杂的样式标签文本,还可以控制外观,比如标签是否使用了一个影子或者处于高亮状态等等. UILabel类继承自UIView 属性 创建UILabel对象 UILabel *label = ......
概述
-
uilabel
类实现了一个只读文本视图。你可以使用这个类来画一个或多个静态文本.uilabel
类支持既简单又复杂的样式标签文本,还可以控制外观,比如标签是否使用了一个影子或者处于高亮状态等等. -
uilabel
类继承自uiview
属性
创建uilabel
对象
uilabel *label = [[uilabel alloc] initwithframe:cgrectmake(0, 0, 100, 100)];
设置显示文字,默认是空的
label.text = @"测试";
设置字体(系统默认字体是16号字体)
label.font = [uifont systemfontofsize:16];
设置字体颜色(默认是黑色)
label.textcolor = [uicolor redcolor];
设置对齐方式(在ios 9之后,此属性的默认值是 nstextalignmentnatural;之前的ios 9,默认值为nstextalignmentleft。)
居左 nstextalignmentleft 居中 nstextalignmentcenter 居右 nstextalignmentright label.textalignment = nstextalignmentcenter;
设置换行模式
以一个单词为单位换行,最后一行显示不全内容以单词截断,后面直接不显示 nslinebreakbywordwrapping 以字符换行 nslinebreakbycharwrapping 以一个单词为单位换行,最后一行显示不全的内容,在label的最后直接截断,后面直接不显示 nslinebreakbyclipping 显示不全;最后一行将最后的内容显示,前面使用...代替 例:truncate at head of line: "...wxyasdasdz" nslinebreakbytruncatinghead 显示不全;最后一行将前面的内容显示,最后使用...代替 例:truncate at tail of line: "abcd..." nslinebreakbytruncatingtail 显示不全;最后一行将前面的内容显示和最后的内容显示,中间使用...代替 nslinebreakbytruncatingmiddle label.linebreakmode = nslinebreakbywordwrapping;
设置阴影颜色
label.shadowcolor = [uicolor greencolor];
设置阴影的偏移量,默认是 cgsizemake(0, -1) -- a top shadow
label.shadowoffset = cgsizemake(0, -2);
设置行数(当文本需要自适应时,需将行数设置为0)
label.numberoflines = 0;
adjustsfontsizetofitwidth
根据宽度调整font
,默认为 no
label.adjustsfontsizetofitwidth = yes;
attributedtext
属性文本,这里不多做介绍,
高亮属性
设置是否处于高亮状态
[label sethighlighted:yes];
设置高亮状态字体的颜色
label.highlightedtextcolor = [uicolor bluecolor];
设置能否进行用户交互(默认为no
)
label.userinteractionenabled = yes;
此属性只决定如何绘制标签。禁用的文本有些模糊,表示它不活跃。默认情况下,此属性被设置为yes。
label.enabled = no;
自适应
default is no
设置字体大小适应label
宽度
label.adjustsfontsizetofitwidth = yes;
default is uibaselineadjustmentalignbaselines
//如果adjustsfontsizetofitwidth
属性设置为yes
,这个属性就来控制文本基线的行为
label.baselineadjustment = uibaselineadjustmentalignbaselines;
项目中label
自适应高度代码
+ (cgfloat)getheightbywidth:(cgfloat)width title:(nsstring *)title font:(uifont *)font { uilabel *label = [[uilabel alloc] initwithframe:cgrectmake(0, 0, width, 0)]; label.text = title; label.font = font; label.numberoflines = 0; [label sizetofit]; cgfloat height = label.frame.size.height; return height; }
项目中label
自适应宽度的代码
+ (cgfloat)getwidthwithtitle:(nsstring *)title font:(uifont *)font { uilabel *label = [[uilabel alloc] initwithframe:cgrectmake(0, 0, 1000, 0)]; label.text = title; label.font = font; [label sizetofit]; return label.frame.size.width; }
作者:
上一篇: ubuntu built-in display 产生的一个原因
下一篇: 炒股第一篇--市场选择