美文网首页
iOS—UIWindow与UIView

iOS—UIWindow与UIView

作者: ysweiwei | 来源:发表于2017-08-03 19:10 被阅读0次

一、UIWindow
1、什么是UIWindow

管理和协调应用程序的显示。
UIWindow类是UIView的子类,可以看作是特殊的UIView(UIView之后介绍)。
一般应用程序只有一个UIWindow对象。

二、UIWidow对象有两种方式创建:

1、自动创建UIWindow对象

先执行Main函数,执行UIApplicationMain()创建代理
看项目配置文件info.plist里面的StoryBoard的name
根据这个name找到对应的StoryBoard,加载StoryBoard
在加载的时候创建一个window。

2、代码创建UIWindow对象

// 创建UIWindow对象
// [UIScreen mainScreen].bounds是屏幕大小
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    // 给window设置背景颜色(白色)
    self.window.backgroundColor = [UIColor whiteColor];
    // 使window显示
    [self.window makeKeyAndVisible];
// 创建一个视图控制器
    UIViewController *VC = [[UIViewController alloc] init];
    // 给Window指定根视图控制器
    self.window.rootViewController = VC;

二、UIView
1、什么是UIView

UIView表示屏幕上的一块矩形区域。
它在App中占有绝对重要的地位。
因为iOS中几乎所有可视化控件都是UIView的子类。
负责渲染区域的内容
并且响应该区域内发生的触摸事件。
2、UIView功能
管理矩形区域里的内容
处理矩形区域中的事件
子视图的管理
实现UIView动画
UIView作为父类,子类也具有这些功能

3、创建UIView

// 开辟空间创建UIView对象
   // 设置frame确定UIView对象的位置以及大小
   UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
   // 设置UIView对象的属性:设置背景颜色
   view.backgroundColor = [UIColor redColor];
   // 将创建好的UIView对象添加到Window上显示
   [self.window addSubview:view];

4、frame

frame是UIView的重要属性,是我们用于视图布局的关键。
它决定了视图的大小和位置。
frame是CGRect类型。
frame是基于它父视图的坐标系而言的。

5、UIView常用属性

6、添加视图

7、应用程序的启动流程

main函数:

任何一个程序,无论是基于Mac OS还是iOS,程序都是从main.m文件的main函数开始执行的。

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

UIApplicationMain

UIApplicationMain在程序入口函数main函数中调用,主要实现了3个功能:
1.创建应用程序(UIApplication)实例
2.创建应用程序代理(AppDelegate)实例
3.建立事件循环(runloop:死循环,不断检测程序运行状态,是否被触摸、晃动等)

UIApplicationMain参数

nt UIApplicationMain (
   int argc,
   char *argv[],
   NSString *principalClassName,
   NSString *delegateClassName
);
1、principalClassName:应用程序对象的类名(UIApplication或其子类)
2、delegateClassName:应用程序delegate的类名。(任何接受了UIApplicationDelegate的类)
UIApplicationMain根据上述两个类名创建应用程序实例、应用程序代理实例。然后建立事件循环(runloop),检测程序的各种事件(程序开始启动,接收到触摸等等)

应用程序代理:

相关文章

  • iOS_UI_01_UIView

    UIView 一、iOS概述 二、UI编程 三、UIWindow 四、UIView 注意:UIView的cente...

  • iOS view的层次结构与属性

    ios界面解析 UIScreen UIWindow ios界面由一个树状的UIView层次结构组成 UIView ...

  • UIWindow 知识梳理

    UIWindow简介 在iOS开发中,UIWindow和UIView一样都是用来呈现界面的。UIWindow并不包...

  • iOS—UIWindow与UIView

    一、UIWindow1、什么是UIWindow 管理和协调应用程序的显示。UIWindow类是UIView的子类,...

  • UIWindow

    UIWindow 1.UIWindow是一种特殊的UIView(继承自UIView) 2.一个iOS程序之所以能显...

  • UIView与UIWindow,UIRespnder那些事儿

    UIView与UIWindow Uiview需要一个窗口UIWindow来展示页面,而UIWindow类似于一个U...

  • 利用UIWindow将View置顶

    UIWindow继承与UIView,so,UIWindow可以使用UIView很多方法,常用的就是makeKeyW...

  • UIWindow

    UIWindow UIWindow是一种特殊的UIView,通常在一个app中至少有一个UIWindow iOS程...

  • UIWindow笔记

    在iOS App中,UIWindow是最顶层的界面内容,我们使用UIWindow和UIView来呈现界面。UIWi...

  • UIWindow

    UIWindow是⼀种特殊的UIView,通常在⼀个app中⾄至少有⼀个UIWindow;iOS程序启动完毕后, ...

网友评论

      本文标题:iOS—UIWindow与UIView

      本文链接:https://www.haomeiwen.com/subject/iozplxtx.html