第一节:UIPickerView、UIPickerViewDataSource、UIPickerViewDelegate
设置约束,如果要设置两个兄弟的约束,可以按住option键,用鼠标右键把a拖到b上面,表示a按照b来对齐
生成随机数
如果后面列的数据,依赖前面的数据,需要把前面选择的列的数据,保存下来,因为不保存,后面更新的时候,前面的列并没有变化,会造成索引越界
添加UIView
第二节:显示方法的注释快捷方法
光标定位到方法上,按一下esc键,会显示注释
第三节:全局断点,会在发生崩溃的地方断点
第四节:UIDatePicker
为什么用weak和 strong
设置locale 语言
第五节:NSDateFormatter
第六节:UIToolBar
系统封装的一个view,里面是UIToolbarItem
第七节:plist 属性
第八节:pch文件
第九节:UIApplicaiton
keywindow 是应用的主界面
这个key 表示状态栏的显示不交给View controller 管理了,而是交给应用程序
启动过程
如果要保存应用数据,应该在enter background的时候保存,因为如果先进入后台,过一会再kil app,获取不到teminate 事件
加载自定义controller
通过代码加载
通过storyboard 加载
通过xib创建
self.view 的懒加载
就是调用 [self loadView] 方法,可以重写该方法
第十节:UIWindow
继承自UIView
第十一节:UINavigationController
通过storyboard 设置
在storyboard中拖一个navigation controller,然后右键,设置root controller
上面有一个navigation item 控件
连线push 和 show 的区别
show 不会添加navigation item
右键连线
NavigationItem
只有样式上的区别,一个字没加粗,一个加粗了
View的生命周期
删除的时候是倒着来,比如栈的结构为 红->绿->蓝 ,如果从红->蓝,销毁的时候,先销毁绿,在销毁红,因为蓝的强指针先没了
第十二节:Segue
自动型
手动型
第十三节:数据存储
finder ->前往->前往文件夹
simpholder2.app 快捷前往沙盒工具
plist 存储
自定义对象不能存到plist 文件,因为它没有writeToFile 方法
偏好设置(NSUserDefaults)
归档解档(NSKeyedArchive、NSKeyedUnArchive)
它是二进制的文件,归档解档的对象要遵循NSCoding协议,文件路径还是在Document路径
归档的时候,要告诉归档那些属性,解档的时候也是要告诉解档哪些属性
temp目录:NSTemporaryDirectory
第十四节:UITabBarController
高度49
第十五节:图片保持图片的长宽
选中ui view,edit->size to fit (command =)
第十六节:Modal
两个界面之间有逻辑关系,用push,没关系用modal
第十七节:Quartz2d
CGContextRef
能用oc的就用oc
draw rect
画图 矩形、圆角矩形、椭圆、圆弧
样式
渲染样式
填充且描边
奇偶填充规则
非零绕数规则
画图 饼图、柱状图、进度条
第十八节:矩阵操作:旋转、缩放、平移
在把路径放到上下文之前进行操作才有效,是对上下文进行的操作
图形上下文栈
save 表示入栈,restore表示出栈
内存管理 (CGPath的释放)
绘制文字
attribute 就是 nsattributename 里面的字符串
绘制图片
模拟image View
这种方式创建的image 是图片的默认大小,模拟image view 就是上面的UIimage 的draw方法
图片裁剪
裁剪的是图片,并不是上下文
图形上下文
保存图片
裁切image
image 保存到相册
屏幕截图
第十九节:触摸事件
可以通过这俩值,获取偏移量
NSSet
多点触摸
按住option键 拖鼠标可以模拟多点触摸,默认View 没开启多点触控,需要开启
view 的这个属性clip subview 类似于Mask