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 ...
最新文章
- python 数组和列表的区别
- MySQL中(delete、truncate、drop) 的区别
- 在内存中动态生成缩略图
- 史上最新最全的Android培训机构大揭秘
- 云服务器哪家好?国内云服务器十大品牌排行榜
- CC2530看门狗定时器实现1秒定时
- Windows最值得安装的小众软件
- 基于python的证件照_不到20行实现Python代码即可制作精美证件照
- php面试题目(中等水平)
- Android实现仿QQ登录可编辑下拉菜单
- WinINet 与 WinHTTP简介
- DDR从channel/rank/chip/bank/row/col/cell,DDR/GDDR/HBM
- 中国苹果之都苹果快成熟了
- 图文对齐居中的几种方式
- 股市基础知识、主力战法【一.2】
- 计算机毕业设计Java醋坊定制销售平台(源码+系统+mysql数据库+lw文档)
- lua 中pairs 和 ipairs差别
- Android快速入门教程1
- 计算IP地址的有效范围
- [附源码]java毕业设计基于JavaWeb生鲜O2O订购平台