zoukankan      html  css  js  c++  java
  • UILabel用法

      // UILabel -> UIView  

        // UILabel用来显示文字内容

        

        //创建一个Label,一般都直接通过initWithFrame确定位置跟大小

        UILabel *lb = [[UILabel alloc]initWithFrame:CGRectMake(50, 80, 200, 200)];

       

        //设置背景色,系统默认是白色背景

        lb.backgroundColor = [UIColor grayColor];

        

        //设置文字

        lb.text = @"Application windows are expected to have a root view controller at the end of application launch";

        

        //设置文字的颜色后,并通过colorWithAlphaComponent设置它的透明度(0~1),系统默认为黑色

        lb.textColor = [[UIColor redColor] colorWithAlphaComponent:0.5];

        

        //设置字体大小,系统默认为17

        lb.font = [UIFont systemFontOfSize:20];

        

        //设置粗体,同时设置字体大小

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

        

        //设置斜体,中文字体不生效

        //lb.font = [UIFont italicSystemFontOfSize:20];

        

        //  使用其他字体

        //lb.font = [UIFont fontWithName:@"Avenir Next Condensed" size:20];

        //倘若需要,可以通过以下函数来输出iPhone所有的字体库

        //NSLog(@"%@",[UIFont familyNames]);

        //设置字体的对齐方式

        /*

         NSTextAlignmentLeft            系统默认值

         NSTextAlignmentCenter        字体居中

         NSTextAlignmentRight          字体右对齐

        NSTextAlignmentJustified      段落的最后一行是natural-aligned

        NSTextAlignmentNatural        跟左对齐没什么差别,目前还不怎么了解,欢迎指点

         */

        lb.textAlignment =  NSTextAlignmentCenter;

      //设置文字的阴影效果

        lb.shadowColor = [UIColor blueColor];

       //设置阴影偏移量(偏移方向,自己通过多多尝试就明白了,这里就不做过多的讲述)

        lb.shadowOffset = CGSizeMake(-5, 5);

        效果图如下

      

      

     //文字的折行模式

        /*

        NSLineBreakByWordWrapping          以单词作为截取,以单词换行

        NSLineBreakByCharWrapping           以字符作为截取,以字符换行

        NSLineBreakByClipping               以单词为截取,以字符换行

        NSLineBreakByTruncatingHead         Truncate at head of line: "...wxyz"

        NSLineBreakByTruncatingTail          Truncate at tail of line: "abcd..."

        NSLineBreakByTruncatingMiddle        Truncate middle of line:  "ab...yz

        */

      [注意]换行模式要结合下面的numberOfLines才能看得出效果

        lb.lineBreakMode = NSLineBreakByTruncatingHead;

        // 换行模式,默认为0,代表可以任意行

        lb.numberOfLines = 3 ;

     //设置文字高亮时的颜色[两者要结合使用才能看出效果]

        lb.highlightedTextColor = [UIColor yellowColor];

        //设置文字是否高亮

        lb.highlighted = YES;

      

      //设置是否与用户互动,默认值为NO,一般都是没去修改它的,因为几乎没有用标签于用户互动

        lb.userInteractionEnabled = NO;

        

        //是否可变

        lb.enabled = NO;

      //最后说一个很重要的,也经常在标签要用到的方法

      /*

         通过text文字的多少来计算文字的宽与高

         参数1: label最大显示的矩形区域,比如下面的320跟 CGFLOAT_MAX就是这个Label标签的宽跟高的最大值

         参数2: 计算的附加条件,例如换行模式

               一般使用: NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin

                Leading: 行与行之间的间隔

                Origin: 每一行所占据的矩形区域

         参数3: 是一个字典,计算一些属性,比例文字的大小等

      返回值是一个CGRect

         */

        CGSize size = [text boundingRectWithSize:CGSizeMake(320, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:20]} context:NULL].size;

      

     新手可以试着全部用标签做出这个界面,练练手

     

  • 相关阅读:
    redis缓存分页数据ID
    Kafka学习之(六)搭建kafka集群
    高并发下,php使用uniqid函数生成唯一标识符的四种方案(本博客也有雪花算法的方式,在【算法组】)
    Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建
    Centos 更改系统时间
    Js删除字符串中的指定字符串
    Jquery 给Js动态新添加的元素 绑定的点击事件
    PHP 常用的header头部定义汇总
    来了解一下Ajax是什么?Ajax的原理?Ajax与传统Web比较?Ajax的优缺点?Ajax的Post与Get比较
    phpstorm常用快捷键(自备不全)
  • 原文地址:https://www.cnblogs.com/Mr-Lin/p/5093107.html
Copyright © 2011-2022 走看看