iOS开发-UI 补充 UIWindow UIView UIlabel

Posted CUG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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实例会被赋予一个 代理对象,以处理应用程序的生命周期事件(比如程序启动和 关闭)、系统事件(比如来电、记事项警告)等等

 

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

修改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)];

 

以上是关于iOS开发-UI 补充 UIWindow UIView UIlabel的主要内容,如果未能解决你的问题,请参考以下文章

我们可以在没有 UIWindow 的情况下创建 iOS 应用吗?

IOS开发之视图和视图控制器

iOS小技能:特殊的UIView(UIWindow)

iOS开发UI篇—UITabBarController简单介绍

iOS 8 - UIWindow 方向总是纵向的

iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式