iOS学习之UILabel详解

作者: bef86a0d8dfc | 来源:发表于2016-07-09 23:38 被阅读164次

    实例化label

    UILabel * lb = [[UILabelalloc]initWithFrame:CGRectMake(20, 50, CGRectGetWidth(self.view.frame)-40,200)];

    lb.text = @"啦啦啦德玛西亚,啦啦啦LOL啊,那就是的那块就是你打了款收到款蓝色的喀纳斯的那对你参考哪里看擦亮开始那看来从哪里能岔路口";

    lb.backgroundColor = [UIColor cyanColor]

    lb.textColor= [UIColor whiteColor];

    //设置字体大小

    lb.font =[UIFont systemFontOfSize:20];

    //设置lable左对齐

    lb.textAlignment = NSTextAlignmentLeft;

    //设置阴影,阴影颜色

    //lb.shadowOffset = CGSizeMake(1, 1);

    //lb.shadowColor = [UIColor yellowColor];

    //设置断句

    //lb.lineBreakMode = NSLineBreakByTruncatingMiddle;

    //设置禁用

    lb.enabled =YES;

    //设置行数1是1行0是自定义几行。

    lb.numberOfLines = 0;

    //设置一行字体自动适应lable宽度,不能使自定义行数时使用

    lb.adjustsFontSizeToFitWidth = YES;

    //最小缩放倍数

    lb.minimumScaleFactor = 0.9;

    //获取系统字体

    //lb.font =[UIFont systemFontOfSize:30];

    //粗体

    //lb.font =[UIFont boldSystemFontOfSize:30];

    //斜体(仅适用英文)

    //lb.font =[UIFont italicSystemFontOfSize:30]

    //自定义字体(导入TTF格式的字体,在工程中找到Build Phases下的Copy Bundl Bescours添加导入的字体,配置plist文件添加

    Fonts

    provided by application在该plist下添加导入的字体全名,)

    lb.font = [UIFont

    fontWithName:@"经典圆体简" size:30];

    label富文本

    Label的内容(\n可以起到换行的效果)

    NSString * exampleString

    = @"根据名人慈善赛公布的名单,Drake带领的加拿大明星队将包括:NBA两届得分王麦蒂、前湖人队三冠王成员里克·福克斯、网球运动员米洛斯·劳尼克以及演员兼歌手吴亦凡。\n凯文·哈特领衔的美国明星队成员将包括:昌西·比卢普斯、“小虫”博格斯、著名主持人尼克·坎农、安东尼·安德森。";

    创建富文本:富文本对字体段落等等的修改写在一个字典里。

    NSAttributedString *attribute = [[NSAttributedString alloc] initWithString:exampleStringattributes:dict];

    富文本的属性:

    创建段落样式

    NSMutableParagraphStyle * paragr = [[NSMutableParagraphStyle alloc]init];

    //设置行间距

    paragr.lineSpacing = 8;

    //设置段间距

    paragr.paragraphSpacing = 12;

    //设置首行缩进

    paragr.firstLineHeadIndent = 40;

    //创建阴影

    NSShadow *shadow = [[NSShadow alloc] init];

    shadow.shadowColor = [UIColor redColor];

    shadow.shadowOffset = CGSizeMake(5, 5);

    //毛玻璃效果

    shadow.shadowBlurRadius = 8;

    NSDictionary * dict = @{

    //设置字体大小

    NSFontAttributeName:[UIFontsystemFontOfSize:20],

    //设置字体的颜色NSForegroundColorAttributeName:[UIColor blueColor],

    //有字本分的背景颜色NSBackgroundColorAttributeName:[UIColor redColor],

    //设置字间距NSKernAttributeName:@(20),

    //设置删除线

    NSStrikethroughStyleAttributeName:@(2),

    //设置下划线NSUnderlineStyleAttributeName:@(2),

    //设置描边的颜色NSStrokeColorAttributeName:[UIColor purpleColor],

    //设置描边的线宽NSStrokeWidthAttributeName:@(5)

    //设置阴影NSShadowAttributeName:shadow

    //设置段落样式NSParagraphStyleAttributeName:paragr

    };

    //创建label

    UILabel * lb = [[UILabelalloc] init];

    lb.frame = CGRectMake(20, 50, CGRectGetWidth(self.view.frame) - 40, 300);

    //添加富文本内容

    lb.attributedText = attribute;

    lb.numberOfLines = 0;

    富文本可做淘宝改价和没改价那个效果见富文本2

    //计算单行文本的宽高

    NSString *example = @"稻香周杰伦";

    UILabel * lb= [[UILabel alloc] init];

    lb.center =self.view.center;

    lb.backgroundColor = [UIColor greenColor];

    NSDictionary* dict = @{NSFontAttributeName:[UIFont systemFontOfSize:30]};

    //创建富文本赋值字体

    NSAttributedString * string = [[NSAttributedString alloc]initWithString:example attributes:dict];

    //计算label宽高,宽高与子体有关所以传入字典字体穿入字体与富文本字体一样使label大小与字体一样

    CGSize size1= [example sizeWithAttributes:dict];

    lb.bounds =(CGRect){CGPointZero,size1};

    lb.attributedText= string;

    //计算多行文本的宽高(确定一个宽或者高)

    CGFloat width =CGRectGetWidth(self.view.frame) - 40;

    NSString *emaxple = @"还记得你说家是唯一的城堡随着稻香河流继续奔跑微微笑小时候的永远的依靠回家吧回到最初的美好";

    NSDictionary* dict = @{NSFontAttributeName:[UIFont systemFontOfSize:30]};

    //计算方法

    CGSize size2= [emaxple boundingRectWithSize:CGSizeMake(width, MAXFLOAT)options:NSStringDrawingUsesLineFragmentOrigin attributes:dictcontext:nil].size;

    //创建富文本

    NSAttributedString * attribute = [[NSAttributedString alloc] initWithString:emaxpleattributes:dict];

    //创建label

    UILabel * lb= [[UILabel alloc] init];

    lb.frame = CGRectMake(20, 50,width, size2.height);

    //添加富文本

    lb.attributedText = attribute;

    lb.backgroundColor = [UIColor greenColor];

    lb.numberOfLines= 0;

    label自适应(自己匹配宽高)

    //label的自适应

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 50,self.view.frame.size.width - 40, 0)];

    label.text =@"放假了;洒家官方垃圾都是的浪费了就看大家谁离开房间;打扫垃圾家里的减肥了;加到了快速;分居两地;安抚加上;代理费;安静的老师放假快乐";

    label.font =[UIFont systemFontOfSize:30];

    label.backgroundColor = [UIColor yellowColor];

    label.numberOfLines = 0;

    //sizeToFitlabel一定要有宽度

    [labelsizeToFit];

    第二种自适应:

    //label的自适应

    UILabel *label = [[UILabel alloc] init];

    label.text =@"放假了;洒家官方垃圾都是的浪费了就看大家谁离开房间;打扫垃圾家里的减肥了;加到了快速;分居两地;安抚加上;代理费;安静的老师放假快乐";

    label.font =[UIFont systemFontOfSize:30];

    label.backgroundColor = [UIColor yellowColor];

    label.numberOfLines = 0;

    CGSize size= [label sizeThatFits:CGSizeMake(self.view.frame.size.width - 40, MAXFLOAT)];

    label.frame = CGRectMake(20, 50,size.width, size.height);

    封装label在08;

    相关文章

      网友评论

        本文标题:iOS学习之UILabel详解

        本文链接:https://www.haomeiwen.com/subject/xvcdjttx.html