从UIKit和CoreAnimation开始
通常情况下,iOS app中屏幕上的物体都是UIView
对象。它们是矩形的并且有坐标和大小来定义它们在屏幕上的位置和尺寸。UIView
是用来构建你的界面的UIKit Framework中基本的界面对象。每个视图都可能伴随着文本、形状或图片绘制。比如说,iOS app中的状态栏是一个长且瘦的视图,处于屏幕的顶端,并且状态栏目中的每个物体(时间、电池指示器、信号强度指示器等等)都是状态栏视图中的其它视图。
这些是为某些功能或特性特定的特殊的UIView
对象。包括作为界面按钮的UIButton
、用来显示图片的UIImageView
、显示文本的UILabel
和显示列表的UITableView
。你也可以通过绘制任何你想要的东西来完全自定义UIView
。
这是我的app Interesting for iPhone的截屏和界面中一些视图的分解。
- 运营商图像视图(苹果控制)
- wifi信号强度视图(苹果控制)
- 当前时间视图(苹果控制)
- 电池等级视图(苹果控制)
- “汉堡包”菜单按钮
- 标题栏中的标题标签
- 改变子板的按钮
- 一个
UITableViewCell
视图,用来包含UITableView
中一行的元素 -
UILabel
中的帖子标题 - 评论数量
UIButton
,由一个评论气泡图和评论的数量组成 - 显示帖子URL的
UILable
-
UILabel
中显示帖子的点值和子板
如果你不熟悉iOS用户界面开发,看看一些你喜欢的app,看能不能找出界面中所有的视图,以此作为分解你自己设计的练习,这样你就可以学习在代码中构建它们。
UIView
对象有很多的职责,其中之一就是事件处理,即响应触摸事件。如果你想的话你界面中的所有视图都可以响应触摸事件,或者你可以指定只有特定的视图会在用户触摸它们时响应。
一个UIView
本质上是一个包含内部图形的矩形。在屏幕上布局,靠近或在其他视图的顶部,还可能会有高级的透明效果来整合到一起或者快速绘制。像你想象的一样,让大量的视图在屏幕上移动确实是一个挑战,尤其是在一个小的,低功率的设备上。
这就是为什么苹果公司开发了Core Animation。
查看完整合集:https://github.com/Cloudox/Motion-Design-for-iOS