UIView
对应Android View
- 布局
- 设计大小通过 frame。添加addSubView
- 使用栈来管理view
UIViewController
操作View的,管理视图的层级和结构,类似Android 的activity fragment,但是比ViewGroup 功能更多
- 自身包含View,是个容器
- 管理view 的生命周期
- 相应用户的操作
- 和app 整体交互,和视图的交换
- 生命周期
- init
- viewDidLoad
- viewWillAppear
- viewDidAppear
- viewWillDisappear
- viewDidDisappear
- Dealloc 在不同生命周期可以做些不同的操作
UITabBarController
类似Android的,BottomNavigationView
UINavigationController
页面管理,类似Android 的StartActivity和finish
UINavigationBar
类似Android 的toobar
delegate设计模式
类似Android 的回调,方法重写,UIViewController 控制ui,这个做逻辑
UITableView
相当于listview
- UITableViewDataSource 类似Android的list adapter
- UITableViewCell 类似于Android 的viewHolder
- UITableViewDelegate
- 提供滚动过程中,UITableViewCell的出现、消失时机
- 提供UITableViewCell的⾼度、headers以及footers设置
- 提供UITableViewCell各种⾏为的回调(点击、删除等)
UICollectionView/UITableView
类似 Android 的recycleView与UITableView有相同的Api设计理念——都是基于datasource以及delegate驱动的
UIScrollView
类似Android 的ScrollVIew
UIImage
类似Android 的ImageView
UIBUtton
类似Android 的 button
- UIButton通过Target-Action的模式,处理点击逻辑
UIAlertView
类似Android 的 Dialog
WKWebView
类似 Android 多进程的WebView
KVO
类似 Android 的 监听模式和事件的回调
UIView动画
- CALayer
- 每个 UIView 都有⼀一个 CALayer 负责内容的绘制与动画
- UIKit 其他组件对应的展示 Layer ( CAScrollLayer CATextLayer)
- 和 UIView 相同的结构 ( subLayer )
##CoreAnimation
- CABaseAnimation :基本动画,时常、开始结束状态等
- CAKeyframeAnimation:关键路路径动画,设置不不同的时间点
- CAAnimationGroup: 复杂动画都可以分解成多个简单动画
- CATransition:转场动画 (渐⼊入渐出)- UIViewController
ios 常用框架
- 网络框架: AFNetworking
- jSON 数据转成model:NSdata
- 序列化:NScode
- 本地轻量级存储:NSUserDefault 类似Android 的sharePerser
布局
- NSLayoutConstraint: 类似Android 的约束布局
- frame:绝对位置布局
- AutoLayout: 条件布局
- Masonry:三方布局
ios 打包发布
- 本地⽀支持可控的开发版本安装
- Debug 过程中的包不能次次上传 - 增加 Profiles
- 限制安装设备数 / 指定App - 扩充 Profiles
- 保证 Profiles 准确性 - Certificate 保证你是合法的开发者
- 防⽌止Profiles 丢失 - 增加本地 CSR / P12
- ⼿手动管理理证书
- 钥匙串串访问 - 请求证书 (CSR / P12)
- 上传CSR ⽣生成 Cerfificates
- 使⽤用 Cerfificates / Identifiers / Devices ⽣生成 Profiles
- 下载 Provisioning Profile 并设置
- 配置P12 和 Profiles 打包上传app Store
总结
Android 和ios 有很多类似之处,学会基础语法和基础组件,线程,基本符合ios 的初级开发需求