1、常用操作
command+c:复制
command+v:粘贴
command+r:运行程序
command+/:注释
2、工具栏
command+0:左侧工具栏展示/隐藏
option+command+0:右侧工具栏展示/隐藏
3、文件操作
option+command+n:快速创建目录文件夹
shift+command+o:全局搜索头文件
command+control+上下箭头:切换头文件和.m文件
command+control+左右箭头:退回和前进历史位置
4、编辑
option+左右箭头:跳过单词移动
control+e:跳到句头
control+a:跳到句尾
option+command+[:整行或多行上移
option+command+]:整行或多行下移
command+[:整行或多行左缩进
command+]:整行或多行右缩进
5、调试
F6单步调试、F7跳入、F8继续
1、main.storyboard介绍
main.storyboard中的ViewController就相当于一个界面,程序启动时,加载的是带有箭头指向的那个,你也可以拖拽箭头修改默认启动的界面,也可以通过is initial ViewController属性来设置
2、ViewController介绍
ViewController可以绑定一个UIViewController类型的类,需要设置customClass,ViewController类默认有两个方法
特点:
viewDidLoad:当视图控制器的根视图加载完成之后触发该方法
didReceiveMemoryWarning:当收到内存警告时触发
3、main.storyboard与ViewController控件的绑定
控件的使用必须在主文件中申明,如果是按钮等控件则必须在主文件中实现点击事件,可以在分屏模式下,在Main.storyboard使用control+鼠标左键拖拽控件到对应代码处,Xcode会人性化的生成灰色点表示
4、main.storyboard其他属性
在main.storyboard的ViewCtroller里面点击图中黄色按钮可以在右边属性栏设置开发屏幕的尺寸等属性
当有程序运行时,还可以在开发界面的底部点击该按钮,可进入View的层次化视图
可以按住左键进行拖拽旋转
UIView是所有UI控件的基类,它可以使用的属性,其他UI控件都可以使用
1、创建UIView
2、创建动画
3、创建动画第二种方式
4、位置、长宽属性
可以借助修改它们的属性完成动画缩放、移动的动画效果
5、transform属性
可以利用transform属性来完成缩放、移动、旋转等组合效果
6、添加与删除子View
删除View的时候,如果删除的是父View,那么它的子View全部也会被删除
7、获取指定Tag的控件
获取前,需要在控件上对Tag进行赋值,如果Tag跟自己(即父View)一样,优先获取自己
1、设置UITextField弹出的键盘模式
可以在文本框属性设置界面中选择keyboardtype进行设置
2、获取UITextField的文本内容
3、隐藏键盘
4、点击文本框以外的地方收起键盘
5、带icon的文本框
UITextFieldView默认高度是30,rightView和leftView是一样道理
1、获取和设置UILabel的内容
1、创建UIColor的两种方式
1、代码生成UIButton
当然也可以设置点击状态下的属性,那么就形成了点击效果,同Android的Selector
2、代码实现UIButton的点击事件
先申明一个方法,并且该方法没有返回IBAction类型,所以不用控件拖拽绑定
接着上面的代码,为UIButton手动添加点击事件,英语电影使用@selector
3、Tag属性
当我们将很多按钮绑定在一个方法里面时,我们可以通过UIButton的Tag属性判断点击的是哪个按钮(Switch语句),从而进行不同的操作
UIImageView不仅支持图片加载,而且还支持数组图片进行帧动画的播放,在布局中创建UIImageView并绑定到代码中
通过点击事件播放动画效果
下面是动画效果图
如果在界面上需要播放很多组动画,就会导致iOS内存的增加,下面采用另一种方法进行优化
将图片资源的存储位置放在xcode的xproject主目录中,也就是NSBundle的位置
通过NSBundle来获取图片路径
通过路径获取UIImage,通过路径的方法可以使控件变为弱类型
通过延时线程将内存清空
两种方法的比较
imageNamed:自动对图片做缓存
优点:第一次加载之后,后面会使用直接读取缓存
缺点:会导致内存的飙升,因为图片类型都为强类型
imageWithContentsOfFile:不会做缓存,需要从NSBundle路径里面取出
优点:不做缓存
缺点:加载比较慢