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. Android Retrofit实现原理分析

    retrofit有几个关键的地方. 1.用户自定义的接口和接口方法.(由动态代理创建对象.) 2.converter转换器.(把response转换为一个具体的对象) 3.注解的使用. 让我们跟随Ap ...

  2. Java 中方法的重载

    问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 show , ...

  3. 【转】IOS --- OC与Swift混编

    群里大神发的网址,感觉有用就先收录了,暂时没时间看SWIFT,感觉代码简洁,但是可阅读性不是太高,有些代码让系统去判断类型,同样的,我们看代码的时候也得自己去判断类型,或许看多就习惯了,有时间再说吧, ...

  4. MySql通用分页存储过程

    MySql通用分页存储过程 1MySql通用分页存储过程 2 3过程参数 4p_cloumns varchar(500),p_tables varchar(100),p_where varchar(4 ...

  5. C++ STL算法系列5---equal() , mismatch()

    equal和mismatch算法的功能是比较容器中的两个区间内的元素.这两个算法各有3个参数first1,last1和first2.如果对 于区间[first1,last1)内所有的first1+i, ...

  6. Android Application 深入分析

    http://blog.csdn.net/rain_butterfly/article/details/37598939

  7. Web前端开发工程师编程能力飞升之路

    [背景] 如果你是刚进入web前端研发领域,想试试这潭水有多深,看这篇文章吧:如果你是做了两三年web产品前端研发,迷茫找不着提高之路,看这篇文章吧:如果你是四五年的前端开发高手,没有难题能难得住你的 ...

  8. Unity 内置着色器(转)

    Unity包括超过40种内置的shader. 标准着色器家族 Normal Shader Family 这些着色器都是Unity基本的着色器.适用于大多数的不透明物体,如果想要物体有透明.发光效果等, ...

  9. nagios监控远程主机端口

    1 被监控主机上的操作 修改nrpe插件内容: 在其中增加的内容如下: 表示的含义为监控主机的端口631和661,这个主要是监控命令 重启xinetd服务: 2 监控主机上的操作 查看监控命令配置文件 ...

  10. Wireshark基本介绍及应用tcp

    wireshark介绍 wireshark的官方下载网站: http://www.wireshark.org/ wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示 ...