这是我参与「第四届青训营 」笔记创作活动的的第11天
今天是8月3日,今天又进行了新的课程学习,今天学习了有关ios app的入门知识和UIKit,整理了相关的笔记。
ios App
ios app的入口:main函数,main函数中会初始化一个UIApplication实例以及一个AppDelegate代理
main函数中的关键方法:UIApplicationMain(用于创建Application对象和Application的代理,设置事件循环,开启app的生命周期)
AppDelegate(app代理,app的根对象):一个单例实例对象,在App推出前永远也不会被释放。程序启动时就不断跟踪App的状态变化,处理包括从其他应用跳转、启动应用、后台运行等动作。
App的生命周期
生命周期:Not Running(未运行)、Inactive(前台非活动状态,处于前台,但不能接受事件处理)、Active(前台活动状态,能接受事件处理)、Background(后台状态,进入后台,如果有可执行代码,执行完代码后进入挂起状态)、Suspended(挂起状态,不能执行代码,如果内存不足,程序被杀)
常用回调方法:
application:willFinishLaunchingWithOptions: 在App启动时调用表示应用加载进程已经开始,常用来处理应用状态的存储和恢复
application:didFinishLaunchingWithOptions: 表示App将从未运行状态进入运行状态,用于对App的初始化操作
applicationDidBecomeActive: 当应用即将进入前台运行时调用
applicationWillResignActive: 当应用即将进从前台退出时调用
applicationDidEnterBackground: 当应用开始在后台运行的时候调用
applicationWillEnterForeground: 当程序从后台将要重新回到前台(但是还没变成Active状态)时候调用
applicationWillTerminate: 当前应用即将被终止,在终止前调用的函数。通常是用来保存数据和一些退出前的清理工作。如果应用当前处在suspended,此方法不会被调用。 该方法最长运行时限为5秒,过期应用即被kill掉并且移除内存。
UIKit
UiView(实际是CAlayer的封装):负责处理布局和触摸事件,但不直接处理动画和绘画
CAlayer:处理动画和绘画,不关注触摸事件
UIViewController:所有控制器的基类,负责视图显示,页面跳转等作用
UIViewController的生命周期:被创建-->呈现在屏幕上-->从屏幕上消失
UIView的三个重要属性:frame、bounds、center
常用的Ui控件
UIbutton 按钮
UiLabel 文本标签
UITextFile 文本输入框
DatePicker 日期选择器
UIScrollView 滚动视图
总结:今天了解到了iOS app的入口方法和生命周期,Uikit 的几种UI,及几种常见的Ui控件