专栏首页攻城狮的动态iOS视图编程指南(View Programming Guide for iOS)(译)

iOS视图编程指南(View Programming Guide for iOS)(译)

官方最新:View Programming Guide for iOS

介绍

关于窗口和视图

在iOS中,你可以使用窗口和视图将你应用的内容呈现在屏幕上。窗口本身是不具备呈现可视化内容的功能的,但它可以用作装有应用视图的容器。视图可以规定在窗口的某一部分显示特定的内容。例如,你可能需要显示图片、文本、图形或者一些组合的视图。同时,你也可以使用视图去组织和管理其他的视图。

概览

每一个应用都至少有一个窗口和视图用以呈现内容,UIKit和其他的系统框架会提供一些预定义的视图用来呈现内容,这些视图从简单的按钮、文本标签到更加复杂的列表视图、选择器视图和滚动视图。如果这些还是不能满足你的需要,你可以自定义视图以及自我管理绘画和事件处理。

视图管理应用可视化的内容

每一个视图都是UIView类的实例或者子类,视图在应用的窗口中负责管理矩形的区域。视图主要负责绘制内容、处理多点触摸事件、管理姿势图的布局.其中,绘制内容包括使用 Core Graphics、 OpenGL ES,以及UIKit的技术在特定矩形区域内绘制几何图形、图片以及文本。视图可以在矩形区域内响应触摸事件、手势识别,甚至可以直接处理触摸事件。在视图层次中,父视图负责动态定位和规范子视图,这种动态改变子视图的能力可以使视图更好适应不断变化的状态,比如交互旋转和动画。你可以将试图视为搭积木。用这些组合来构建属于你的人机交互,而不是只用一个视图显示所有的内容,你通常需要几个视图来构建视图层次。视图层次中的每个视图都是你所构建用户交互中特定的一部分,并通常为特殊类型内容所优化的(各司其职)。例如,UIKit就有用以显示文本、图片和其他类型内容的特定视图。 相关章节:视图和窗口结构、视图

窗口可协调视图的显示

窗口是UIWindow的实例用以呈现整个应用的用户交互。窗口用视图(视图控制器)管理与可视化视图层次的交互和改变。大多数,应用的窗口从不发生改变,窗口一旦创建便保持不变,只有在窗口上的视图发生变化。每个应用至少有一个窗口用以呈现设备主屏幕上的用户交互。如果有外置屏幕接入设备,应用会创建第二个窗口显示相应的内容。 相关章节:窗口

动画可提供用户人机交互的反馈

动画可以将视图层次的改变可视化反馈给用户。系统规定了用以不同组织视图中呈现模态视图和过渡的标准动画。然而,动画的许多属性也可以直接用来动画。例如,通过动画,你可以改变视图的透明度、屏幕上位置、尺寸、背景或者其他属性。如果你想直接操作视图下层的核心动画层对象,同样可以呈现出其他的动画形式。 相关章节:动画

Interface Builder的作用

Interface Builder是一款用来图形化构建和配置应用的窗口和视图。使用Interface Builder,你会将你的视图存放在nib文件中,这种文件是一种存储视图和其他对象原始版本关系的资源文件,一旦在runtime中加载nib文件,nib文件中的对象就会重新组成可代码操作的具体对象。 Interface Builder极大的简化了创建应用交互界面的工作。因为在iOS机制中支持Interface Builder和nib文件混合使用的,并且很容易就可以将nib文件融合到应用程序的设计中。

本文分享自微信公众号 - 攻城狮的动态(iOSDevSkills),作者:Jack_lin

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-06-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 还记得由yyyyMMdd到yyyy-MM-dd的华丽转身么

    Jacklin
  • [Objective-C Runtime] 成员变量与属性

    Jacklin
  • iOS中痛的领悟

    Jacklin
  • 类视图 vs. 函数视图

    基于类的视图(CBV)和基于函数的视图(FBV)到底有什么区别? 有什么优缺点? 本篇将会去探讨。 在阅读本篇之前,请记住一点「基于类的视图不会替代基于函数的视...

    用户1416054
  • IOS开发之视图和视图控制器

            视图(View), 视图控制器(ViewController)是IOS开发UI部分比较重要的东西。在学习视图这一块的东西的时候,感觉和Java ...

    lizelu
  • MySQL 视图

    ​看到这里,或许你已经对MySQL 的基本操作了如指掌,这篇文章讲解MySQL高级功能中 视图的概念及其用法。

    技能锦囊
  • AI综述专栏 | 孙仕亮:多视图机器学习综述

    在科学研究中,从方法论上来讲,都应先见森林,再见树木。当前,人工智能科技迅猛发展,万木争荣,更应系统梳理脉络。为此,我们特别精选国内外优秀的综述论文,开辟“AI...

    马上科普尚尚
  • 快速学习-视图解析

    cwl_java
  • 不看后悔 —— 视图详细介绍

    在MySQL中,视图可能是我们最常用的数据库对象之一了。那么你知道视图和表的区别吗?你知道创建及使用视图要注意哪些点吗?可能很多人对视图只是一知半解,想详细了解...

    MySQL技术
  • 快速学习Oracle-视图

    我们尝试着修改视图但是发现是视图所查询的表的字段值被修改了。所以我们一般不会去修改视图。

    cwl_java

扫码关注云+社区

领取腾讯云代金券