iOS App入门与UIKit简介| 青训营笔记

230 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第13天
本篇文章将会记录“iOS App入门与UIKit简介”一课中的重点知识以及笔记

iOS App简介

入口函数 main

main函数中会初始化一个UIApplication实例以及一个AppDelegate代理

AppDelegate

该对象在App退出前不会被释放, 并在App启动时就不断追踪程序的变化(应用启动、跳转、退居后台)

其功能如下

  • 启动时初始化App的代码
  • 追踪生命周期的状态, 并调用指定的方法
  • 推送通知
  • 处理低内存
  • 处理App的状态保存和恢复
  • 存储App数据

App生命周期

App的生命周期包涵五种状态:

  • Not Running
  • Inactive
  • Active
  • Background
  • Suspended

状态(生命周期跳转)变化AppDelegate所相应的回调方法(常用)

  • application:willFinishLaunchingWithOptions: 启动时调用, 表示加载进程开始, 处理应用状态的存储和恢复
  • application:didFinishLaunchingWithOptions: 从Not Running进入Inactive状态, 初始化操作
  • applicationDidBecomeActive: 进入Active状态, 应用进入前台运行
  • applicationWillResignActive: 从前台退出时候调用
  • applicationDidEnterBackground: 进入后台调用(Background)
  • applicationWillEnterForeground: 重新进入前台(还未Active)
  • applicationWillTerminate: 应用终止

其中尤其注意applicationWillTerminate, 该方法常用作保存数据和退出前的清理工作, 最长运行时间为5秒, 超过时间将会被系统清除并回收内存

UIKit简介

Apple为用户提供UI方面编程的类

视图

iOS中所有的视图(UIView)都是以(UIView类)作为基类衍生的

UIView可以处理触摸事件, 绘图、仿射变换、滑动、渐变动画等

图层:

CALayer(图层)不处理用户交互, 负责管理图层方面的的效果, 动画变换等

常用作:

  • 影音、圆角、边框
  • 3D变换
  • 非矩形范围
  • 透明遮罩
  • 多级非线性动画

常用控件

TextField、TextView 输入框

DatePicker 日期选择器

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy.MM.dd";
NSString *str = [formatter stringFromDate:date];

UIScrollView 滚动视图

UITableView 表格视图

UICollectionView 表格视图