常用属性介绍
文本控制属性:
属性名 | 作用 |
text | 文本内容 |
attributedText | 富文本内容 |
font | 字体控制 |
textColor | 字体颜色 |
textAlignment | 文本对齐 |
lineBreakMode | 省略位置,...显示方案 |
2、标签文本大小的适应属性
adjustFontSizeToFitWidth //是否改变字体大小适应标签矩形大小,默认为NO,如果设置为YES,则应该为它设置最小字体属性(minimumFontSize)
allowsDefaultTighteningForTruncation //是否允许在没有收缩再提前让字距变紧,默认NO
numberOfLines //最多显示多少行。【如果设置为0,标签则会自动显示多行,自动换行,把内容显示完整】
还有若干属性,请参考UILabel Class
//代码天剑标签示例:
var newLabel: UILabel = UILabel(frame: CGRect(x: 20, y: 10, width: 280, height: 150)) //创建一个标签
newLabel.text = "代码定义的标签"
newLabel.backgroundColor = UIColor.blueColor()
newLabel.textColor = UIColor.redColor()
newLabel.textAlignment = NSTextAlignment.Center
newLabel.numberOfLines = 3
self.view.addSubview(newLabel) //**将标签添加到视图中
实现首行缩进
先创建一个段落规则对象,NSMutableParagraphStyle
NSMutableParagraphStyle 的属性设置参考链接
paragraphStyle.firstLineHeadIndent = self.contentLabel.font.pointSize * 2 //首行缩进设置,不要和全部缩进(headIndent)设置搞混了
实现虚线边框
可以借助CAShapeLayer为其添加虚线边框。
OC代码示例:
CAShapeLayer *imaginaryLine = [CAShapeLayer layer];
imaginaryLine.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
imaginaryLine.path = [UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:0].CGPath;
imaginaryLine.lineWidth = 1. / [[UIScreen mainScreen] scale];
imaginaryLine.lineDashPattern = @[@2, @2];
imaginaryLine.fillColor = [UIColor clearColor].CGColor;
imaginaryLine.strokeColor = [UIColor grayColor].CGColor;
[self.layer addSublayer:imaginaryLine];