zoukankan      html  css  js  c++  java
  • ios开发UI篇--UILabel

    概述

    • 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;
    }

    作者:coder小鹏
  • 相关阅读:
    什么是电信BOSS系统?
    得到windows系统图标的解决方案
    FusionChart实现金字塔分布图
    OCP-1Z0-051-V9.02-91题
    FusionChart用XML和JSON两种格式提供数据源
    OCP-1Z0-051-V9.02-156题
    OCP-1Z0-051-V9.02-155题
    OCP-1Z0-051-V9.02-154题
    OCP-1Z0-051-V9.02-153题
    OCP-1Z0-051-V9.02-151题
  • 原文地址:https://www.cnblogs.com/jiuyi/p/10481157.html
Copyright © 2011-2022 走看看