View Programming Guide for iOS官方文档翻译一
版权声明:本文为博主原创文章,转载请声明出处,谢谢!
本文档的官方英文原版地址
关于窗口和视图
在iOS中,您可以使用窗口(windows)和视图(views)在屏幕上显示APP的内容。 窗口(Windows)本身没有任何可见的内容,但为APP的视图提供了一个基本的容器。 视图(views)定义了您想要填充某些内容的窗口的一部分。例如,您可能具有一些显示图像、文本、形状或其组合的视图。 您还可以使用视图来组织和管理其他视图。
概述
每个APP至少有一个窗口(windows)和一个视图(view)来呈现其内容。UIKit和其他系统框架提供了可用于展示内容的预定义视图。这些视图的范围比较广泛,囊括了从简单的按钮和文本标签到更复杂的视图的范畴,如表视图,选取器视图和滚动视图。如果预定义的视图不能满足你的需求,您可以进行自定义视图并自行管理视图的绘制以及相关事件的处理工作。
视图管理您的应用程序的可视内容
视图是UIView类(或其子类之一)的实例,并在APP窗口中管理着一个矩形区域。视图负责绘制内容,处理多点触控事件以及管理任何子视图的布局。绘图涉及使用图形技术(例如Core Graphics,OpenGL ES或UIKit)在视图矩形区域内绘制形状、图像和文本。视图通过使用手势识别器或直接处理触摸事件来响应其矩形区域中的触摸事件。 在视图层次结构中,父视图负责定位和调整其子视图的大小,并且可以动态的计算子视图的位置和大小。这种动态修改子视图的功能使您的视图能够适应不断变化的条件,如界面旋转和动画。
您可以将视图视为构建用户界面的砖块。 一般不会用一个视图来呈现所有内容,而是使用多个视图来构建视图层次结构。层次结构中的每个视图负责展示用户界面的特定部分,并且通常针对特定类型的内容进行优化。 例如,UIKit中具有专门用于呈现图像、文本和其他类型内容的视图。
相关章节:视图和窗口体系结构,视图
窗口协调视图的显示
窗口是UIWindow类的一个实例,并处理应用程序用户界面的整体表示。窗口使用视图(及其拥有的视图控制器)来管理可见视图层次结构的交互以及对可见视图层次结构的更改。大多数情况下,APP的窗口几乎不会发生改变。窗口创建后,它保持不变,只有它显示的视图才会发生变化。每个APP至少有一个窗口,用于在设备的主屏幕上显示应用程序的用户界面。如果有外部显示器连接到该设备,APP可以创建第二个窗口来在该屏幕上显示相关内容。
相关章节:窗口
动画为用户提供接口更改的可视化反馈
动画向用户提供有关视图层次结构更改的可视化反馈。系统定义了用于呈现模态视图和在不同视图组之间转换的标准动画。但是,视图的许多属性也可以直接产生动画。例如,通过动画,您可以更改视图的透明度、位置、大小、背景颜色或其他属性。如果您直接使用视图的底层Core Animation图层对象,那么还可以执行许多其他的动画效果。
相关章节:动画
界面构造器(Interface Builder,也简称IB)的角色
界面构造器(Interface Builder)是一个用于可视化构造和配置APP的窗口和视图的应用程序。 使用界面构造器(Interface Builder),您可以组装视图并将它们放置在一个nib文件中 ,该文件是一个用于存储视图和其他对象的”冻干版本”的资源文件。 当你在运行时加载一个nib文件时,它里面的对象被重构成实际的对象,然后你的代码就可以通过编程操作这些对象。
界面构造器(Interface Builder)大大简化了创建APP用户界面所需的工作。 由于对Interface Builder和nib文件的支持已整合到iOS中,因此只需要花费很少精力就可以把nib文件整合到应用程序的设计中。
有关如何使用Interface Builder的更多信息,请参阅Interface Builder用户指南。有关视图控制器如何管理包含其视图的nib文件的信息,请参阅视iOS视图控制器编程指南(View Controller Programming Guide for iOS)中创建自定义内容视图控制器的相关内容。
同时参考
因为视图是非常复杂和灵活的对象,所以不可能在一个文档中涉及到全部内容。但是,其他文档可帮助您了解管理视图和整个用户界面的其他方面。
视图控制器是管理应用程序视图的重要部分。 一个视图控制器管理者一个视图层次结构中的所有视图,并在屏幕上展示这些视图。有关视图控制器及其扮演的角色的更多信息,请参阅适iOS视图控制器编程指南(View Controller Programming Guide for iOS)。
视图是APP中手势和触摸事件的主要接收者。有关使用手势识别器和直接处理触摸事件的更多信息,请参阅 iOS事件处理指南(Event Handling Guide for iOS)。
自定义视图必须使用可用的绘图技术来呈现其内容。有关使用这些技术绘制视图的信息,请参iOS绘图和打印指南(Drawing and Printing Guide for iOS)。如果标准视图动画不能满足你的需求,您可以使用Core Animation。有关使用Core Animation实现动画的信息,请参阅核心动画编程指南(Core Animation Programming Guide)。
转载于:https://www.cnblogs.com/weixiaochao/p/8496224.html
View Programming Guide for iOS官方文档翻译一相关推荐
- View Programming Guide for IOS:Views笔记
1.执行画图代码: "当前绘图上下文"只在执行视图的drawRect方法期间才有效.UIKit有可能会在后续调用drawRect方法时声称一个新的视图上下文,所以你不能试图去缓存这 ...
- 【iOS官方文档翻译】iOS蓝牙的基本概念
之前写了[iOS官方文档翻译]iOS的蓝牙连接.数据接收及发送一文,介绍了怎样进行蓝牙通讯,但是很多基本概念没有进行解释,看起来可能有点吃力,所以现在再翻译一篇苹果对官方蓝牙4.0一些基本概念介绍的文 ...
- iOS 官方文档翻译
各路大神爱发博客的.爱写写东西的.爱分享的.爱技术的.潮人.妹纸.男神.都可已加入到我们这个大家庭来.一起做些有趣的事情.iOS 官方文档翻译QQ群:486111671.github 地址:https ...
- 【iOS官方文档翻译】UICollectionView与UICollectionViewFlowLayout
(一)先来简单回顾一下UICollectionView *UICollectionView的简单使用可以看我以前写的这篇博文:UICollectionView的基本使用 UICollectionVie ...
- 【iOS官方文档翻译】iOS的蓝牙连接、数据接收及发送
说明:苹果官方开发文档中涉及一些名词:Central(中心设备).Peripheral(外围设备).advertising(广告).Services(服务).Characteristic(特征)等,请 ...
- Collection View Programming Guide for iOS---(四)---Using the Flow Layout
Using the Flow Layout 使用流布局 The UICollectionViewFlowLayout class is a concrete layout object that yo ...
- View Controller Programming Guide for iOS---(七)---Resizing the View Controller’s Views
Resizing the View Controller's Views A view controller owns its own view and manages the view's cont ...
- iOS VoiceOver Programming Guide
前言 VoiceOver是苹果"读屏"技术的名称,属于辅助功能的一部分.VoiceOver可以读出屏幕上的信息,以帮助盲人进行人机交互. 这项技术在苹果的各个系统中都可以看到,OS ...
- iOS 翻译-UIWebView的基本简介-官方文档翻译
继承关系:NSObject-UIResponder-UIView-UIWebView 遵循:NSCoding NSObject UIAppearance UIAppearanceContainer U ...
最新文章
- 2021年人工智能数据采集标注行业四大趋势预测
- Mac 技术篇-查看python安装位置,查看java安装位置
- Java IO流之字符缓冲流
- 初探swift语言的学习笔记七(swift 的关健词)
- opengl加载显示3D模型md5mesh类型文件
- javaweb学习总结(十一)——使用Cookie进行会话管理
- NiftyNet开源平台使用
- Android_Event Bus 的基本用法
- python读取文件夹下所有文件的名称_python2.7 学习之读取文件夹下所有文件名称及内容...
- matlab 调用c++编译好的文件出现问题
- 《Web前端工程师修炼之道(原书第4版)》——移动Web
- WinForm实现SQLServer存储图片
- Intellij IDEA安卓开发环境的搭建
- jcp 打印机字体变淡变模糊bootstrap
- xmind8 下载安装与破解激活
- excel流程图分叉 合并_excel流程图怎么画
- 金仓数据库-java连接金仓数据库方法笔记
- 谢烟客---------Linux之权限
- 翻译德文到中文,北京德文翻译哪家好?
- tcp ip协议 服务器和客户端区别,网络与TCP/IP协议-总结
热门文章
- Extjs可视化设计视频教程一
- C# 进制转换(二进制、十六进制、十进制互转) .
- “发明在商业上获得成功”对专利法22条第三款有关创造性规定的影响
- ASP.NET企业开发框架IsLine FrameWork系列之六--DataProvider 数据访问(下)
- java http请求实现_JAVA实现HTTP请求方式
- 浅显易懂的GMM模型及其训练过程
- ffmpeg 静态库使用,undefined reference错误
- DevPartner Studio Professional Edition 11 内存泄露检测使用
- Wiz Editor md 为知笔记 Markdown 插件
- 线性代数【8】-1 线性方程组