zoukankan      html  css  js  c++  java
  • iOS阶段学习第26天笔记(UILabel的介绍)

    iOS学习(UI)知识点整理

    一、关于UILabel的使用介绍

    1)概念:UILabel是一个继承自UIView的用于展示文本信息的控件

    2)UI中所有的控件都继承自UIView 即UIView 是UI的祖宗类。

    3)UILable的实例化方式 代码:

    1  UILabel *label=[[UILabel alloc]init]; //初始化UILabel     
    2  label.text=@"Hello,KingKong";//给label赋值文本内容
    3  label.backgroundColor=[UIColor blackColor];//设置lable背景颜色为黑色
    4  [label setTextColor:[UIColor whiteColor]];//设置文本字体颜色为白色
    5   label.font=[UIFont systemFontOfSize:15.0];//设置label字体大小
    6  abel.frame=CGRectMake(20, 60, 200, 40);//设置label的x、y坐标以及长度  和高度
    7  [self.window addSubview:label];//将初始化好的label装载到屏幕视图

    4)视图颜色可以根据RGB类型设置,使用取色软件获取我们想要的颜色的RGB值可以方便的设置任意颜色类型
         为了使用方便我们可以 写一个专门的根据RGB设置颜色的宏定义方法 代码如下:

    1  #define ColorWithRGB(r,g,b) ([UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1])

     
    5)我们还可通过NSMutableAttributedString 设置控件的样式 实例代码:

     1  UILabel *label=[[UILabel alloc]init]; //初始化UILabel   
     2  //初始化NSMutableAttributedString对象
     3  NSMutableAttributedString *attribute=[[NSMutableAttributedString alloc]initWithString:text];
     4 //根据范围设置字体大小
     5 [attribute addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30] range:NSMakeRange(0, 1)];
     6 //根据范围设置背景颜色
     7 [attribute addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(0, 1)];
     8 //根据范围设置字体颜色
     9 [attribute addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0, 1)];
    10  //根据label的宽度自动调节文字的字体大小
    11   label.adjustsFontSizeToFitWidth = YES;
    12 label.numberOfLines = 0;//最大行数直到内容把label宽度高度填充完全
    13  label.lineBreakMode = NSLineBreakByTruncatingTail;
    14  //根据RGB设置文字颜色 此处为自定义方法
    15  label.textColor = ColorWithRGB(255, 154, 155);
    16  //设置文字居中
    17  //在iOS 7 之前UITextAlignmentCenter
    18  label.textAlignment = NSTextAlignmentCenter;
    19   //设置label的边框的宽度
    20  label.layer.borderWidth = 1;
    21  //设置边框的颜色
    22  label.layer.borderColor = label.textColor.CGColor;
    23  //设置圆角 (当图像是正方形的时候,圆角值为图像一半的时候,图像变为一个圆)
    24   label.layer.cornerRadius = 6;
    25  //label文字的阴影
    26   label.shadowColor = [UIColor blackColor];
    27  //laebl文字的偏移量
    28  label.shadowOffset = CGSizeMake(10, 10);
    29 //将设置好的样式赋值给控件
    30 label.attributedText=attribute;
    31 //装载控件
    32 [self.window addSubview:label];

     
    6)当我们不使用iOS的Main.storyboard 而使用自定义的视图页面时需要 删除Target 下 Info选项的Main storyboard file base name
          否则会执行报错

    7)当我们没法选择工程运行所需的iOS模拟器是 在Target的General下找到Deployment Target 项设置一下对应的iOS版本即可

    8)iOS UI项目创建选项一般为 Single View Application 项

    9)我们在初始化控件对象时必须先初始化视图 代码如下: 

    1 //初始化视图对象  [UIScreen mainScreen].bounds  自动获取屏幕的尺寸
    2 self.window = [[UIWindow alloc] initWithFrame:[UIScreenmainScreen].bounds];   
    3 //设置视图背景颜色
    4 self.window.backgroundColor = [UIColor whiteColor];
    5 //把当前的window设置成主window,并把它展示出来 注:此项必须设置否则无法展示视图
    6 [self.window makeKeyAndVisible];

    10)什么是Frame? Frame是坐标系,第一个参数是x坐标,第二个参数是y坐标,第三个参数是宽度,第四个参数是高度 

    1 CGRect frame = CGRectMake(10, 0, 100, 50);

     
    11) 获取屏幕或视图的宽高、x坐标,y坐标 

     1 CGRect mainScreenFrame = [UIScreen mainScreen].bounds;
     2 //获取屏幕宽度
     3 CGFloat screenWidth1 = mainScreenFrame.size.width;
     4 //获取视图的宽度
     5 CGFloat screenWidth2 =CGRectGetWidth(self.view.frame);
     6 //获取屏幕的高度
     7 CGFloat screenHeight1 = mainScreenFrame.size.height;
     8 //获取视图的高度
     9 CGFloat screenHeight2 =CGRectGetHeight(self.view.frame);
    10 //获取屏幕的X坐标
    11 CGFloat startX = mainScreenFrame.origin.x;
    12 //获取屏幕的Y坐标
    13 CGFloat startY = mainScreenFrame.origin.y;

    12)PCH文件说明:  PCH文件是iOS中的预编译文件可以在里面实现一些对头文件的引用以及宏定义方法,
            这样就可以实现一个全局引用 ,在添加PCH文件后需要在Target的 Build Settings 项下找到
            Prefix  Header  填写 $(SRCROOT)/Target名称/PCH文件名称.pch 

    13)创建控件的必要流程
      1、控件初始化
      2、设置Frame
      3、设置背景颜色
      4、将控件加载在某一视图上
      可选
      * 可否设置文字?
      * 可否设置文本颜色?
      * ……

    14) 调试过程中如果我们要查看某个计算式/变量的结果值 可以在Console 区输入: po+计算式/变量 回车即可

  • 相关阅读:
    关于ListView
    Camera2
    线程池
    运输层
    计算机网络体系结构
    USACO 2016 US Open Contest Gold T2: Closing the Farm
    USACO 2016 US Open Contest Gold T1: Splitting the Field
    USACO 2016 February Contest Gold T3: Fenced In
    USACO 2016 February Contest Gold T2: Circular Barn Revisited
    USACO 2016 February Contest Gold: T1 Circular Barn
  • 原文地址:https://www.cnblogs.com/ChinaKingKong/p/4682857.html
Copyright © 2011-2022 走看看