IOS学习——UI基础UIWindow、UIView(五)

简介:

    在PC中,应用程序多是使用视窗的形式显示内容,手机应用也不例外,手机应用中要在屏幕上显示内容首先要创建一个窗口承载内容,iOS应用中使用UIWindow、UIView来实现内容显示。

UIWindow:

       UIWindow对象是所有UIView的根视图,管理和协调的应用程序的显示、分发事件给View。UIWindow类是UIView的子类,可以看作是特殊的UIView。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。UIWindow初始化在appDeleDgate里面的 didFinishLaunchingWithOptions方法。

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];     // Override point for customization after application launch.     self.window.backgroundColor = [UIColor whiteColor];     [self.window makeKeyAndVisible];//显示出UIWindow


UIView:

       UIView类继承自UIResponder,负责在屏幕上 定义一个矩形区域,视图用于展示界面及响应用户界面交互。每个视图对象都要负责渲染视图区域的内容,并响应该区域中发生的操作事件。

       除了显示内容和处理事件之外,视图可以嵌套并管理子视图。子视图是指嵌入到另一视图对象内部的视图对象,而被嵌入的视图对象是父视图。视图添加到window中就会显示出来,iOS中是怎么实现视图显示的,看下面的代码:


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {          self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];     // Override point for customization after application launch.     self.window.backgroundColor = [UIColor whiteColor];               CGRect rect=[UIScreen mainScreen].applicationFrame;          NSLog(@"NSScreen application %@",NSStringFromCGRect(rect));     CGRect rect2=[UIScreen mainScreen].bounds;          NSLog(@"NSString mainScreen %@",NSStringFromCGRect(rect2));      NSLog(@"iOS_didFinishLaunchingWithOptions");          UIView *view1=[[UIView alloc]initWithFrame:CGRectMake(60, 50, 200, 100)];     view1.backgroundColor=[UIColor greenColor];          [self.window addSubview:view1];     [view1 release];        UIView *view2=[[UIView alloc]initWithFrame:CGRectMake(60, 100, 200, 200) ];     view2.alpha=0.5;     view2.backgroundColor=[UIColor cyanColor];     [self.window addSubview:view2];                  UIView *view3=[[UIView alloc]initWithFrame:CGRectMake(100, 50, 60, 50)];     view3.backgroundColor=[UIColor colorWithRed:25/255.0 green:60/255.0 blue:150/255.0 alpha:1.0];         [view2 addSubview:view3];          [view3 release];     [view2 release];          [self.window makeKeyAndVisible];     return YES; } 

上面添加了三个视图,view1、view2、view3,view3嵌套在view2中。


/**
* @author 张兴业
*  iOS入门群: 83702688
*  android开发进阶群: 241395671
*  我的新浪微博: @张兴业TBOW
*/


     本文转自xyz_lmn51CTO博客,原文链接:http://blog.51cto.com/xyzlmn/1230735,如需转载请自行联系原作者

相关文章
|
1月前
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
15 0
|
2月前
|
JSON 监控 数据格式
Easy UI datagrid的学习
Easy UI datagrid的学习
|
4月前
|
JavaScript
【Vue学习】—Vue UI组件库(二十八)
【Vue学习】—Vue UI组件库(二十八)
|
5月前
|
安全 前端开发 Android开发
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
鸿蒙开发学习是一项探索性的工作,旨在开发一个全场景分布式操作系统,覆盖所有设备,让消费者能够更方便、更直观地使用各种设备。
288 6
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
|
5月前
|
XML 数据安全/隐私保护 数据格式
Morn UI 学习总结
Morn UI 学习总结
45 0
|
6月前
|
Web App开发 开发者
关于 SAP UI5 学习教程示例代码里 Chrome 开发者工具 Console 面板里一些错误消息的说明试读版
关于 SAP UI5 学习教程示例代码里 Chrome 开发者工具 Console 面板里一些错误消息的说明试读版
37 0
|
6月前
|
XML 开发框架 数据格式
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
45 0
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
|
7月前
|
存储 JavaScript API
通过 SAP UI5 的 TypeScript 开发环境,来学习什么是 DefinitelyTyped
通过 SAP UI5 的 TypeScript 开发环境,来学习什么是 DefinitelyTyped
56 0
|
7月前
|
iOS开发
iOS UIKit Dynamics Demo 学习地址列表
iOS UIKit Dynamics Demo 学习地址列表
23 0
|
8月前
|
前端开发 JavaScript
【编写前端需要学习的知识】Vue2+Element-UI
【编写前端需要学习的知识】Vue2+Element-UI
53 0