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中。
转载于:https://www.cnblogs.com/xyzlmn/p/3168056.html
IOS学习笔记(五)——UI基础UIWindow、UIView相关推荐
- C#学习笔记五面向对象基础
属性开头大写,字段开头小写 namespace 属性 { class Program { static void Main(string[] args) { person p = new person ...
- Java学习笔记(五):一张图总结完JVM8基础概念
Java学习笔记(五):一张图总结完JVM8基础概念 引文 最近在学习JVM的相关内容,好不容易把基础概念全部都学了一遍,却发现知识网络是零零散散的.迫不得已,只好再来一次总的归纳总结.为了更好的理解 ...
- iOS学习笔记-自己动手写RESideMenu
代码地址如下: http://www.demodashi.com/demo/11683.html 很多app都实现了类似RESideMenu的效果,RESideMenu是Github上面一个stars ...
- IOS学习笔记02---语言发展概述,计算机语言简介.
IOS学习笔记02---语言发展概述,计算机语言简介. ------------------------------------------------------------------------ ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- 吴恩达《机器学习》学习笔记五——逻辑回归
吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...
- iOS学习笔记-自定义过渡动画
代码地址如下: http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swi ...
- 【AngularJs学习笔记五】AngularJS从构建项目开始
为什么80%的码农都做不了架构师?>>> #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...
- IOS学习笔记03---C语言概述
IOS学习笔记03---C语言概述 0 3.C语言1-C语言概述 qq交流群:创梦技术交流群:251572072 创梦网络赚钱群:2483 ...
- ROS学习笔记五:理解ROS topics
ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...
最新文章
- JavaWeb——jsp-config
- 用Python深入理解跳跃表原理及实现
- P1631 序列合并
- 内存分配函数 malloc、realloc、calloc
- C#如何卸载已安装的Windows Service服务
- 解决办法:开机后过很长时间键盘才能用
- python保存数组到txt_np.savetxt()——将array保存到txt文件,并保持原格式
- 复现bwapp逻辑漏洞-验证机制问题-一.利用Burp Suite中Intruder模块进行字典攻击
- 高级JAVA程序员必备:必看书籍清单
- iOS country code及国际区号
- 打开outlook显示服务器内存不足,Outlook2013无法打开邮箱,报错提示可用内存不足...
- 【华人学者风采】聂建云 蒙特利尔大学
- 微信电子驾驶证怎么查询
- ERNIE: Enhanced Language Representation with Informative Entities中文
- 大数据管理平台助力精准扶贫 “建始经验”将在全省推介
- 高精度除法(高精度除以高精度)
- Allegro自动10度走线详细教程
- 2021-2025年中国自动化侧面装载机行业市场供需与战略研究报告
- 一文弄懂printf函数从用户态到内核态的执行流程
- 计算机协会玩游戏策划案,计算机协会的社团策划书