zoukankan      html  css  js  c++  java
  • 3. UILable 的使用

    1.  坐标系

    来自:http://www.cnblogs.com/mcj-coding/p/5100455.html  QQ: 863740091

    如果在平面坐标系中我们要确定一个东西的位置和大小需要什么?(xy值和宽高)

    在iOS 程序里,X轴和我们知道的一样,但是Y轴和我们知道的正好反过来 ,也就是说你以前认为的Y轴的负值,在我们iOS中是正数

     

    2.  UILabel

    展示一下UILabel的使用环境

    UILabel 是一个视图类,即UIView的子类,在IOS中所有看的见,摸的着的,都是UIView的子类

     

    UILabel 是标签视图,用于显示文字信息。

    #import "RootViewController.h"

    @interface RootViewController ()

    {

        UILabel *_label;

    }

    @end

    @implementation RootViewController

    // 这个ViewController 东西已经准备好,可以添加UI控件了

    - (void)viewDidLoad {

        [super viewDidLoad];

        

        // 给界面添加了一个label对象

    //    [self addLabel];

    //    

    //    // 修改了label里面的文本信息

    //    [self addMetch];

        

    //    [self addLabelWithAttr];

        // UILable去适应文本的大小

        [self adutText];

    }

    - (void)addLabel

    {

        _label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];

      // 设置背景颜色

        _label.backgroundColor = [UIColor redColor];

    // 设置label 的文本信息

        _label.text = @"yes,you are a bad man, I am a good man. Do you belieffffve it?";

        

        // 字体大小设置

        _label.font = [UIFont systemFontOfSize:30];

        // 设置字体为粗体

        _label.font = [UIFont boldSystemFontOfSize:30];

        // 设置字体为斜体(不支持中文)

        _label.font = [UIFont italicSystemFontOfSize:30];

        

        // 设置字体的样式

        //    NSLog(@"%@",[UIFont familyNames]);(可以打印出字体的样式有多少)

        //    label.font = [UIFont fontWithName:@"Zapfino" size:20];

        

        // 设置自适应宽度

        //    label.adjustsFontSizeToFitWidth = YES;

        

        // 设置文字对齐方式(三种)

        _label.textAlignment = NSTextAlignmentCenter;

        

        // 设置最多显示几行

        _label.numberOfLines = 4;

        

        // 设置中断模式

        //    NSLineBreakByWordWrapping  // 单词换行

        //    NSLineBreakByCharWrapping, // 字符换行 ,如果显示不下,字符作为省略单位     NSLineBreakByClipping, // 单词换行,如果显示不下,字符作为省略单位

        //    NSLineBreakByTruncatingHead,// 单词换行,如果显示不下,省略最后一行行首

        //    NSLineBreakByTruncatingTail,// 单词换行,如果显示不下,省略最后一行行尾

        //    NSLineBreakByTruncatingMiddle // 单词换行,如果显示不下,省略最后一行行中

        _label.lineBreakMode = NSLineBreakByTruncatingMiddle;

        

        // 设置阴影偏移量

        _label.shadowOffset = CGSizeMake(2, 2);

        _label.shadowColor = [UIColor yellowColor];

        

        // 设置透明度(0 ~ 1) 默认是1 数值越小透明度越大

        _label.alpha = 1;

        

        // tag(可以通过这个tag 在其他方法里找到这个控件)

        _label.tag = 100;

        // 把label 添加到屏幕上

        [self.view addSubview:_label];

    }

    - (void)addLabelWithAttr

    {

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

        

        // 拓展

        NSString *strV = @"SaLaHeiYou,KuNiXiWa";

        NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:strV];

        

        // 修改颜色

        // NSMakeRange(0, 4) 从哪个位置开始,数几个字符,设置他们的颜色

        [attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(0, 4)];

        [attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(5, 2)];

        [attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:NSMakeRange(8, 10)];

        

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

        //Zapfino Menlo Baskerville Verdana

        // 修改字体

        [attributeString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Zapfino" size:20] range:NSMakeRange(0, 4)];

        [attributeString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Menlo" size:30] range:NSMakeRange(5, 4)];

        [attributeString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Baskerville" size:10] range:NSMakeRange(10, 4)];

        

        label.attributedText = attributeString;

        [self.view addSubview:label];

    }

    - (void)adutText

    {

        // 获取这些文本占用多大的空间

        NSString *str = @"获取这些文本占用多大的空间 获取这些文本占用多大的空间 获取这些文本占用多大的空间";

        

        // 根据文字的大小获取多大的label 可以显示

       CGRect rect = [str boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:30]} context:nil];

         CGFloat labelH = rect.size.height;

        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 200, 300, labelH)];

        // 0 的时候有多少行 显示多少行

        label.numberOfLines = 0;

        label.font = [UIFont systemFontOfSize:30];

        label.backgroundColor = [UIColor redColor];

        label.text = str;

        [self.view addSubview:label];

    }

    - (void)addMetch

    {

      UILabel *label = (UILabel *)[self.view viewWithTag:100];

        label.text = @"北京真好,吸雾霾不用交税";

    }

     

  • 相关阅读:
    latex
    slab着色,可以减少cache conflict miss概率么?
    内存管理 初始化(八) 至kswapd_init
    内存管理 初始化(七)kmem_cache_init_late 初始化slab分配器(下)
    vmwareubuntu18.04网络配置
    高德地图的一些使用心得
    mongodb聚合管道用法
    python学习链接
    python开发者常犯的10个错误(转)
    vim配置python开发环境(转)
  • 原文地址:https://www.cnblogs.com/mcj-coding/p/5100455.html
Copyright © 2011-2022 走看看