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. 免费的WebService

    天气预报Web服务,数据来源于中国气象局 Endpoint :     http://www.webxml.com.cn/WebServices/WeatherWebService.asmx Disc ...

  2. ORACLE RAC集群硬件资源管理与单节点的区别

    硬件资源是由OS kernel管理的,应用软件是不能直接访问硬件的,必须通过OS kernel提供的API接口间接访问,OS kernel 除了要完成用户的请求,还通过进程调度等机制来控制多进程对资源 ...

  3. Nodepad++ tab改成4个空格

    设置-首选项-选项卡设置-使用空格替换

  4. freemaker转word xml注意事项

    java类字符串变量如果含有以下2种字符: &和  <,必须转义否则转化将失败. 其中: &替换成 & <替换成 < 因为一些怪字符数据库存储时已转义了,从数 ...

  5. PHP include()和require()方法的区别

    本文总结了PHP的include()和require()两种包含外部文件的方法的不同之处.基本上就是,加载失败的处理方法,性能,以及使用弹性方面的不同. PHP的include()和require() ...

  6. oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件

    提示: IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件 IMP-00000: 未成功终止导入 解决方法: 用户system用户登录然后授权 grant dba to hszx

  7. DataGridView固定了列名,怎样将数据内容绑定在列上

    留心驿站 原文 其实很简单,在DataGridView上右键选择编辑列,在数据一项中找到DataPropertyName,在里面写上对应的要绑定的数据中的字段名,即可 .比如:从数据库中选择的data ...

  8. 在Eclipse中用TODO标签管理任务

    在Eclipse中用TODO标签管理任务 Elipse为Java项目的时候,有一个很人性化的“任务管理”功能,利用这个功能可以方便地将项目中一些需要处理的任务记录下来.先来看看“任务管理”是怎么使用的 ...

  9. Textbox像百度一下实现下拉显示 z

    List<string> Data = new List<string>(); string Randomstr = "功夫撒黑胡椒hcbvf蜂窝qwertyuiop ...

  10. Weblogic修改后台日志输出级别