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. ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别

    工作中多处接触到了ThreadPoolExecutor.趁着现在还算空,学习总结一下. 前记: jdk官方文档(javadoc)是学习的最好,最权威的参考. 文章分上中下.上篇中主要介绍ThreadP ...

  2. InnoDB 引擎独立表空间 innodb_file_per_table

    使用过MySQL的同学,刚开始接触最多的莫过于MyISAM表引擎了,这种引擎的数据库会分别创建三个文件:表结构.表索引.表数据空间.我们可以将某个数据库目录直接迁移到其他数据库也可以正常工作.然而当你 ...

  3. arcgis9.3 执行python文件

    1) 打开Python GUI 2) 选择菜单“File->Open”,打开你要执行的*.py文件 3) 选择菜单“Run->Run Module”,运行python文件 4)运行结果

  4. struts 中 s:iterator 使用注意事项

    后台定义类 public class Course_pj { private String _id; private String _courseid; private String _course_ ...

  5. hibernate 建表一对一 就是一对多,多的一方外键唯一unique

    Person.java package cn.itcast.hiberate.sh.domain.onetoone; import java.io.Serializable; import java. ...

  6. Python自动单元测试框架

    原文链接:http://www.ibm.com/developerworks/cn/linux/l-pyunit/ 软件的测试是一件非常乏味的事情,在测试别人编写的软件时尤其如此,程序员通常都只对编写 ...

  7. Intent传递数据

    方式比较多,先看看代码,一会儿再总结. activity_main.xml <RelativeLayout xmlns:android="http://schemas.android. ...

  8. qt信号signal和槽slot机制

    内容: 一.概述 二.信号 三.槽 四.信号与槽的关联 五.元对象工具 六.程序样例 七.应注意的问题 信号与槽作为QT的核心机制在QT编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念.元对象工 ...

  9. BITED-Windows8应用开发学习札记之三:如何在Win8应用中实现数据绑定

    在微软官方提供的资源中,我们可以看到SampleDataSource.cs已经拥有了定义好了相应的数据结构以及实现类: 建立本地数据 由于我们已经有数据以及相应的数据类,我们需要做的仅仅是将数据放进数 ...

  10. python堡垒机

    堡垒机 windows下安装python3的paramiko模块后一些报错总结: error: Unable to find vcvarsall.bat [官网对此问题的描述] : https://d ...