• iOS开发-UI (一)补充 UIWindow UIView UIlabel


    之前忘了把这些整理出来,现在补充一下,应该放在前面学习的

    知识点:

    1.UI的初步认识

    2.UIWindow

    3.UIView

    4.UIlabel

    ========================  

    UI的初步认识

    1.什么是UI(*)

    UI即User Interface(用户界面)的简称。UI设计则是指对软 件的人机交互、操作逻辑、界面美观的整体设计。好的UI设 计不仅是让软件变得有个性有品味,还要让软件的操作变得 舒适、简单、自由、充分体现软件的定位和特点。

    2.第一个UI工程

    1)UI工程的程序入口在哪里(*)

    在AppDelegate这个类中(UIApplication的代理对象);

    2)什么是UIApplicationMain(*)

    每一个程序在运行期必须有且仅有一个UIApplication(或则其 子类)的一个实例。创建UIApplication的单例实例。这样可以 通过调用[UIApplication sharedApplication]来得到这个单例 实例的指针。

      UIApplication的一个主要工作是处理用户事件,它会创建一个 队列,把所有用户事件都放入队列,逐个处理,

      在处理的时候,它会发送当前事件到一个合适的处理事件的目 标控件。此外,UIApplication实例还维护一个在本应用中打开 的window列表(UIWindow实例),这样它就 可以接触应用 中的任何一个UIView对象。UIApplication实例会被赋予一个 代理对象,以处理应用程序的生命周期事件(比如程序启动和 关闭)、系统事件(比如来电、记事项警告)等等

    3)IOS程序图标和程序名设置(***)

    修改info.plist配置文件中的bundle name

    图片必须是png格式,并且像素尺寸必须要符合要求

    ========================  

    UIWindow

    1.iPhone应用程序通常只有一个窗口,表示为一个UIWindow类的 实例。应用程序在启动时创建这个窗口,并往窗口中加入一或多 个视图并显示出来。

    2.UIWindow对象是所有UIView的根,管理和协调应用程序的显 示。一般应用程序只有一个UIWindow对象,即使有多个 UIWindow对象,也只有一个UIWindow可以接受到用户的触屏 事件。

    备注:UIWindow继承自UIView

      

    ========================

    UIView使用

      1.UIView初步介绍

    ios中一切看得见摸得着的类都是直接或者间接的继承自UIView

      2.UIView作用

    1)视图是UIView类的实例,负责在屏幕上定义一个矩形区域。

    视图在展示用户界面及响应用户界面交互方面发挥关键作用。

    每个视图对象都要负责渲染视图矩形区域中的内容,并响应该区域 中发生的操作事件。视图是应用程序与用户交互的重要机制。除了 显示内容和处理事件之外,视图还可以用于管理一或多个子视图。

    2)子视图是指嵌入到另一视图对象边框内部的视图对象,而被嵌入的 视图则被称为父视图或超视图。视图的这种布局方式被称为视图层 次,一个视图可以包含任意数量的子视图,通过为子视图添加子视 图的方式,视图可以实现任意深度的嵌套。子视图总是被显示在其 父视图的上方。每个父视图都负责管理其直接的子视图,根据需要 调整它们的位置和尺寸,以及响应它们没有处理的事件。

    3.iPhone屏幕是用点来计算坐标的

    型号           x          y

      iPhone4     320    *   480

         iPhone4S 320 *   480

         iPhone5  320 * 568

         iPhone5S 320 *   568

         iPhone6  375 *   667

         iPhone6 Plus 414 * 736

    普通屏幕 1点=1像素

    retina屏幕 1点 = 4像素

    6 Plus 1点 = 9像素

    4.iPhone的坐标系

    1) 原点在左上角

    2) 往右为x的正方向,往下为y的正方向

      5.UIView常见属性和坐标属性

    1)IOS中的坐标系统

    2)frame: 该view在父view坐标系统中的位置和大小。 (参照点是,父亲的坐标系统)

      3)bounds:该view在自身坐标系中的位置和大小。 (参照点是,自己的坐标系)

      4)center:该view的中心点在父view坐标系统中的位置。

    (参照点是,父亲的坐标系统)

      6.UIView的层次关系

    1)添加子视图:addSubView

    [self.window addSubview:label];

    2)从父视图移除:removeFromSuperview

    ========================

    UIlabel

    1.UIFont类常用方法

    1)创建一个UIFont对象

      (UIFont *)fontWithName:(NSString *)name size:(CGFloat)size

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

    2)遍历系统字体库

      (NSArray *)familyNames

    //获取系统的字体库

        NSArray *fontArr = [UIFont familyNames];

    3)设置加粗

      (UIFont *)boldSystemFontOfSize:(CGFloat) size

    label.font = [UIFont boldSystemFontOfSize:20];

        

      2.UILabel如何改变字体颜色

    1)字体颜色:setTextColor

    2)文字阴影颜色:setShadowColor

    3)设置文字阴影偏移: setShadowOffset

    //阴影相对于本身的label 往X的正方向偏移20个单位,往Y方向偏移20个单位

        label.shadowOffset = CGSizeMake(20, 20);

        //设置阴影颜色

        label.shadowColor = [UIColor grayColor];

      3.UILabel文字对齐方式:setTextAlignment

    1)NSTextAlignmentLeft -> 左对齐

    2) NSTextAlignmentCenter ->居中对齐

    3)NSTextAlignmentRight ->右对齐

    label.textAlignment = NSTextAlignmentCenter;

      4.UILabel多行显示:numberOfLines     

    //0代表无限换行,直到超出label本身的范围

        label.numberOfLines = 0;

      5.自适应内容,根据内容大小设置UILabel的frame

              //textSize为最后字符串内容占用的区域大小

        CGSize textSize = [str boundingRectWithSize:CGSizeMake(200, 3000) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;

        

        //创建一个UILabel ,UILabel的大小根据textSize进行变化

        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, textSize.width, textSize.height)];

  • 相关阅读:
    定义一个动态的二维数组?
    学习STL map, STL set之数据结构基础
    CMM
    详细解说STL string
    仔细选择你的容器
    C++字符串类string简析
    流氓软件及反流氓软件的技术分析
    标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
    C++资料下载
    unix系统操作命令大全
  • 原文地址:https://www.cnblogs.com/fcug/p/6338077.html
Copyright © 2020-2023  润新知