记录一些容易忘记的属性 -- UILabel

时间:2021-09-16 09:12:28

一:UILabel

  lbl.alpha=0.f;                   lbl 透明,会影响子视图的显示

  lbl.backgroundColor=[UIColor clearColor];    lbl 背景色透明,子视图不变化

  lbl.hidden=YES;                整个 lbl 隐藏 子视图hidden也为YES

注意事项:

1 当视图完全透明或者隐藏时,不能响应触摸消息。

也就是alpha等于0.0或者hidden为YES的时候,但是当alpha<0.01的时候,视图就已经接收不到消息了。

2 视图的alpha值会影响子视图的绘制,但是子视图的alpha值不变。

文档的原文:This value affects only the current view and does not affect any of its embedded subviews.

原文很容易误解为(或者这是误写):视图的alpha值只影响到当前视图,不会影响其子视图。

但是按照实验结果,是:视图的alpha值改变,不会导致子视图的alpha值改变,但是渲染的时候会影响到子视图。

具体影响:子视图真正渲染出来的alpha值等于子视图的alpha乘父视图的alpha。

//粗体
    lbl.font = [UIFont boldSystemFontOfSize:30];
    //斜体
    lbl.font = [UIFont italicSystemFontOfSize:30];

//设置高亮
    lbl.highlighted = YES;
    //设置高亮
    lbl.highlightedTextColor = [UIColor greenColor];

//设置阴影颜色
    lbl.shadowColor = [UIColor blackColor];
    //设置阴影的偏移量 偏移量>0则往坐标系的正方向偏移
    lbl.shadowOffset = CGSizeMake(5, 5);

//当文本信息过多,显示不完整,末尾会添加...,可以通过调整字体的大小来适应当前label;
    label1.adjustsFontSizeToFitWidth = YES;

//设置label的基线位置
    //UIBaselineAdjustmentAlignBaselines -设置文字的上限和label的中线对齐(这个设置只有label的长度不够现实文字的内容才有效,并且需要设置了标签的adjustsFontSizeToFitWidth为YES)
    //UIBaselineAdjustmentAlignCenters - 设置文字的中线与label的中线对齐
    //UIBaselineAdjustmentNone - 设置文字的下线和label的中线对齐
    label1.baselineAdjustment = UIBaselineAdjustmentNone;

//设置当前标签的最大显示行数,实际显示行数受标签的高度和字体的大小限制
    label2.numberOfLines = 5;
    //设置文本的换行模式。(默认为NSLineBreakByTruncatingTail)
    //NSLineBreakByTruncatingTail - 是以单词为换行,以字符截断,在截断末尾加...
    //NSLineBreakByTruncatingHead - 是以单词为换行,在文字的前面加...(如果行数多余一行,在最后一行的前面加...)
    //NSLineBreakByTruncatingMiddle - 以单词为换行,在文字的中间加...(如果行数多余一行,在最后一行的中间加...)
    //NSLineBreakByWordWrapping - 以单词为换行,以单词截断
//    NSLineBreakByCharWrapping - 以字符为换行,以字符截断
//    NSLineBreakByClipping - 以单词为换行,以字符截断
    label2.lineBreakMode = NSLineBreakByTruncatingMiddle;