跟着Android 学习 ios —— 视图组件View

433 阅读2分钟

UIView

对应Android View

  • 布局
  1. 设计大小通过 frame。添加addSubView
  2. 使用栈来管理view

UIViewController

操作View的,管理视图的层级和结构,类似Android 的activity fragment,但是比ViewGroup 功能更多

  • 自身包含View,是个容器
  1. 管理view 的生命周期
  2. 相应用户的操作
  3. 和app 整体交互,和视图的交换
  • 生命周期
  1. init
  2. viewDidLoad
  3. viewWillAppear
  4. viewDidAppear
  5. viewWillDisappear
  6. viewDidDisappear
  7. 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
  1. 提供滚动过程中,UITableViewCell的出现、消失时机
  2. 提供UITableViewCell的⾼度、headers以及footers设置
  3. 提供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
  1. 每个 UIView 都有⼀一个 CALayer 负责内容的绘制与动画
  2. UIKit 其他组件对应的展示 Layer ( CAScrollLayer CATextLayer)
  3. 和 UIView 相同的结构 ( subLayer )

##CoreAnimation

  • CABaseAnimation :基本动画,时常、开始结束状态等
  • CAKeyframeAnimation:关键路路径动画,设置不不同的时间点
  • CAAnimationGroup: 复杂动画都可以分解成多个简单动画
  • CATransition:转场动画 (渐⼊入渐出)- UIViewController

ios 常用框架

  • 网络框架: AFNetworking
  • jSON 数据转成model:NSdata
  • 序列化:NScode
  • 本地轻量级存储:NSUserDefault 类似Android 的sharePerser

布局

  • NSLayoutConstraint: 类似Android 的约束布局
  • frame:绝对位置布局
  • AutoLayout: 条件布局
  • Masonry:三方布局

ios 打包发布

  • 本地⽀支持可控的开发版本安装
  1. Debug 过程中的包不能次次上传 - 增加 Profiles
  2. 限制安装设备数 / 指定App - 扩充 Profiles
  3. 保证 Profiles 准确性 - Certificate 保证你是合法的开发者
  4. 防⽌止Profiles 丢失 - 增加本地 CSR / P12
  • ⼿手动管理理证书
  1. 钥匙串串访问 - 请求证书 (CSR / P12)
  2. 上传CSR ⽣生成 Cerfificates
  3. 使⽤用 Cerfificates / Identifiers / Devices ⽣生成 Profiles
  4. 下载 Provisioning Profile 并设置
  5. 配置P12 和 Profiles 打包上传app Store

总结

Android 和ios 有很多类似之处,学会基础语法和基础组件,线程,基本符合ios 的初级开发需求