iOS App Anatomy
UIKit framework是iOS的开发库,需要知道names, roles, capabilities of 这些basic components
- navigation bar,导航栏
- tab bar,标签栏
- segment control,分段控制按钮
- alert & map view
- toolbar button (无边框的工具栏按钮,位于页面底部) ...
UIKit提供的UI组件大致分为4类:
- Bars: (navigation&toobar&status)各种条,导航信息,告知当前位置,提供control或initiate动作的入口
- Content View: (collection views&table views)应用的主题内容&操作行为,scrolling, insertion, deletion and rearrangement
- Controls: (buttons&slides)执行操作&展示信息
- Temporary views: (alerts&action sheets) 稍纵即逝,起提示作用,简要提示重要信息&其他选择
UIKit
不直接定义UI控件,而是定义了很多Objects,去implement functionality(如手势识别、绘图、accessibility和打印支持等)
编程角度
coding角度来看,一个UI元素是一个view,因为继承了UIView。
其他
- 一个界面的UI其实是分层的,由不同的view构成,用view controllers控制views相互之间的关系、展示方式和交互
- 工程师关注的角度是views+controllers,但用户关注的是screen,也就是一坨view+controllers的集合
- 一个screen一般来说,对应着一个独立的app态
- window不是window,只是一个窗,一个app一个窗,窗里啥也没有,接独立外部显示的才可能会有多个window