1 前言

本章主要介绍了View视图对象,包括了其属性,视图间关系和CALayer的简介。

英文原文:http://blog.csdn.net/developer_zhang/article/details/12754255

2 详述

View是一个能够自己绘制用一个window的矩形区域并且能够响应例如手指触摸或者鼠标点击的用户动作的对象。是一个视图绘制一个自己的可视化外观并且显示响应触摸和设备输入的外观。不是所有的视图都用来处理事件,但是视图更可能处理事件的几率多于其他的响应对象(具有响应事件能力的对象)。视图也能够提供输出内容。对于一个可用的视图,它必须位于层级窗口之中。

从Mac OSX的NSView或者IOS的UIView直接或者间接的继承的视图。这些类自己不执行绘制也不处理事件。但是提供接口和基础结构给子类。AppKit和UIKit框架提供几乎所有的我们在application窗口中看到的视图,包括按钮,表格视图,文本框,工具栏和滑动条。这些视图对于在Interface Builer库中的工程是可以使用的。我们还能够子类化UIView或者NSView并且创建自定义可以绘制自己并且处理事件以不同的方式的视图。

2.1 视图的核心属性

在UIKit和AppKit框架中的视图有重要的可操作的属性:

·视图边界和位置:视图的frame和bounds定义了它的边界和它与其他视图的的关系。frame指定在父视图的坐标系中的位置和视图的size。视图的bounds指定本身视图用来绘制自己的坐标系。(UIKit中的视图还有一个定位他们矩形区域中心的属性)。

·与其他视图的关系:父视图,子视图和窗口属性定义了一个在窗口中视图在视图层次的位置。我们添加视图(子视图)来创建混合视图来封闭视图(父视图)并且基本上用来创建用户界面。当封闭视图自己被重置的时候,autoresizing属性按照子视图的位置和重置他们的方式执行。

2.2 视图是动画能力的继承

在IOS和OS中,每个视图都通过layer属性依靠一个核心动画图层对象(CALayer)。图层对象缓存了视图绘制内容,支持布局并且显示内容,并且能够合成和让内容动起来。视图确定的属性,例如视图frame和opacity都提供了隐含的动画能力。此外,应用可能明确地使视图活动起来通过使用Core Animation框架的工具。

在OS中,CALayer支持是一个可选的,然而在IOS中该支持是被植入到每一个视图的实现之中的。

3 结语

以上是所有内容,希望对大家有所帮助。

IOS深入学习(19)之View object的更多相关文章

  1. 开源中国iOS客户端学习

    开源中国iOS客户端学习 续写前言 <开源中国iOS客户端学习>续写前系列博客    http://blog.csdn.net/column/details/xfzl-kykhd.html ...

  2. ios开发学习笔记(这里一定有你想要的东西,全部免费)

    1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...

  3. 原 iOS深入学习(Block全面分析)http://my.oschina.net/leejan97/blog/268536

    原 iOS深入学习(Block全面分析) 发表于1年前(2014-05-24 16:45)   阅读(26949) | 评论(14) 39人收藏此文章, 我要收藏 赞21 12月12日北京OSC源创会 ...

  4. iOS阶段学习第一天笔记(Mac终端的操作)

    前言部分 原本从事的是.NET开发,一直在要不要转iOS 中犹豫徘徊,经过复杂的内心挣扎终于鼓起勇气辞职脱产学习iOS;希望通过四个月的 学习后能够拿到理想的薪资.以下是学习过程中的学习笔记,为了方便 ...

  5. 白话学习MVC(十)View的呈现二

    本节将接着<白话学习MVC(九)View的呈现一>来继续对ViewResult的详细执行过程进行分析! 9.ViewResult ViewResult将视图页的内容响应给客户端! 由于Vi ...

  6. 白话学习MVC(九)View的呈现一

    一.概述 本节来看一下ASP.NET MVC[View的呈现]的内容,View的呈现是在Action执行之后进行,Action的执行生成一个ActionResult,[View的呈现]的功能就是:通过 ...

  7. ios网络学习------6 json格式数据的请求处理

    ios网络学习------6 json格式数据的请求处理 分类: IOS2014-06-30 20:33 471人阅读 评论(3) 收藏 举报 #import "MainViewContro ...

  8. iOS动画学习-视觉效果

    CALayer不仅仅是iOS动画学习-CALayer中介绍的那些内容,他还有一些其他属性,比如shadowColor,borderWidth,borderColor等等,这些属性我们只需要简单点设置就 ...

  9. iOS开发者学习Flutter

    Flutter for iOS 开发者 本文档适用那些希望将现有 iOS 经验应用于 Flutter 的开发者.如果你拥有 iOS 开发基础,那么你可以使用这篇文档开始学习 Flutter 的开发. ...

  10. iOS 反射 学习 和 运用

    iOS  反射 学习 和 运用 反射:  通过 类名来获得生成的相应的类的实例 的这种机制  叫 反射 常用的反射方式 把 NSDictionary  转成 自定义 model 自定义 model 转 ...

随机推荐

  1. ZOJ 3396 Conference Call(3点最小生成树)

    题意:给出一组含m个点的无向图,再给出n个点,这n个点分别以一条边连接到这个无向图中的某个点.对于每个询问,求出3点连通的最小代价.有可能3个点是不能互通的.如图,最小代价就是红色的边的权之和. 思路 ...

  2. html常用笔记

    <?php //CSS可以对文本格式进行精确的控制 //HTML标记更有利于搜索引擎 //一.标签 <br> <p>//换行后插入一个空行,单字节不换行,双字节自动换行 ...

  3. php 计算本月第一天 本月最后一天 下个月第一天

    本文转载自   http://jin541223.blog.163.com/blog/static/1637398052011111233018533/ //本周第一天(星期日为一周开始) echo ...

  4. 集合框架null与size=0

    被QA人员一眼指出来的问题,唉,好丢人 上栗子

  5. mysql 概念和逻辑架构

    1.MySQL整体逻辑架构 mysql 数据库的逻辑架构如下图: 第一层,即最上一层,所包含的服务并不是MySQL所独有的技术.它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安 ...

  6. 细数Android开源项目中那些频繁使用的并发库中的类

    这篇blog旨在帮助大家 梳理一下前面分析的那些开源代码中喜欢使用的一些类,这对我们真正理解这些项目是有极大好处的,以后遇到类似问题 我们就可以自己模仿他们也写 出类似的代码. 1.ExecutorS ...

  7. background-size background-positon合并的写法

    background:url('../../image/banner/banner1.jpg') #fff no-repeat 5px center/50px 50px; "/"前 ...

  8. 为什么Jquery对input file控件的onchange事件只生效一次

    今天在做jquery对input file控件的onchange事件进行监听,就一直只生效一次,不知道Jquery为什么对file控件没有做到每次改变触发onchange事件的效果,但是还是有好几种解 ...

  9. .vdat文件怎么打开

    http://tieba.baidu.com/p/2947300642 无需转换,把后缀修改为MP4,就可以了

  10. Android系统在超级终端下必会的命令大全(adb shell命令大全)

    . 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...