1.变量
2.类的声明和实现
3.类的继承
4.初始化,分+,-,和重写init
5.属性,@property 变量 自动生成_变量,set,get方法和实现。
可以用点语法代替get和set方法修饰对象用retain 基本数据类型assign nonatomic非原子性(一般为这个) atomic为原子性 保证 线程安全
@property(nonatomic, retain)
KVC方法对属性赋值
6.字符串
字符串的声明初始化,格式化声明,类型转换调用方法常用方法
isEqualToString字符串是否相等
substringFromIndex从index开始的字串
substringToIndex从0到Index字串
substringWithRange范围字串
stringByAppendingString拼接
stringByReplacingCharactersInRange
stringByReplacingOccurrencesOfString字符串替换
uppercaseString
lowercaseString大小写
capitalizedString首字母大写
hasPrefix判断开头
hasSuffix判断结尾
containsString包含串
可变字符串NSMutableString
一般创建方法NSMutableString *str = [NSMutableString string]
appendString拼接
insertString插入
deleteCharactersInRange删除
7.数组
不可变数组NSArray[NSArray arrayWithObjects:@“aa”,nil]
字面量声明@[@“aa”]
count数组长度NSInteger根据系统的位数决定,mac为ld,long型
objectAtIndex,array[index]取出数组个别
firstObject,lastObject第一或最后一个
indexOfObject根据元素获取在哪个下标
containsObject判断是否在数组中
componentsSeparatedByString字符串分割成数组
componentsJoinedByString数组加分割符成字符串
可变数组NSMutableArray
addObject添加
insertObject插入
removeAllObject
removeObjectAtIndex
removeObject删除
exchangeObjectAtIndex: withObject/withObjectAtIndex: 交换位置
8.字典
不可变字典NSDictionary@{@“value”:@“key”}
[NSDictionary dictionaryWithObjectsAndKeys:@“value”,@“Key”,nil]初始化
objectForKey获取字典元素
count字典健值对的个数
allKeys获取所有key
allValues获取所有value
可变字典NSMutableDictionary
[NSMutableDictionary dictionary]声明
[dic setObject:@“value” forKey:@“key”]
removeObjectForKey
removeAllObjects
9.集合NSSet(去重)
[NSSet setWithObjects:@“a”,nil]anyObject获取集合中的所有元素
可变集合NSMutableSet
[NSMutableSet set];
addObject添加元素
count元素个数
removeObject移除元素
计数集合NSCountedSet
[NSCountSet set]
addObject添加
countForObject元素的个数
10.通讯录
字典中包含数组
11.内存管理
ARC自动引用计数 会用strong代替retainMRC手动引用计数
单对象:
dealloc对象销毁时调用
retain计数加一
release计数减一
当计数为0时,自动销毁对象
自动释放池@autoreleasepool{}离开时计数减一
便利构造器会有自动释放的
对象被添加到容器的时候,计数会加一,容器销毁的时候,也会减一
多对象
人车模型
copy不可变数组时没有开辟内存
mutableCopy都开辟内存了
12.block
返回类型(^名字)(形参) = ^(实参){};可以用typedef定义前面部分
方法体中只能用外部的__block定义的变量
13.类目
给没有源代码的类添加方法,NSString...
14.延展
管理有源代码的类的私有属性和方法在.m的文件中声明该属性和方法
15.UIView
属性
alpha透明度
hidden隐藏
center中心点
tag 标签
viewWithTag根据编号找到View
backgroundColor
功能
bringSubviewToFront 子view在前面
bringSubviewToBack 子view在后面
removeFromSuperview 子view消失
addSubview 添加
16.UILabel
属性text 文本内容
textAlignment 位置 = NSTextAlignmentCenter 居中
textColor 颜色
font 文字大小= [UIFont systemFontOfSize:]
shadowColor 阴影颜色 = [UIColor xxx]
shadowOffset 阴影位置= CGSizeMake(x,y)
numberOfLines 行数
layer.cornerRadius 圆角
layer.masksToBounds = YES 显示圆角
17.UIButton
属性创建[UIButton buttonWithType:UIButtonWithTypeCustom]
frame = CGRectMake设置位置和大小
方法
[setTitle: forState:UIControlStateNormal] 设置文字
[setTitleColor: forState:UIControlStateNormal] 设置字体颜色
[setBackgroundImage: forState:] 设置背景图片 要创建Image = [UIImage imageNamed:”a”] a如果是png不用写后缀名,其他的要
[setImage: forState:] 设置前景图片
[setTitleEdgeInsets:UIEdgeInsetsMake(float top,left,bottom,right)]
[setImageEdgeInsets:UIEdgeInsetsMake(float top,left,bottom,right)] 调整文字和图片的位置
[addTarget:self action:@selector(youTouchMe) forControlEvents:UIControlEventTouchUpInside] 添加点击事件,youTouchMe是点击的方法
18.UITextField输入框
属性placeholder提示文字
secureTextEntry密文输入
clearButtonMode 右侧清空小按钮 = UITextFieldViewModeAlways
enabled 是否允许输入= NO
keyboardType 键盘类型 = UIKeyboardTypeNumberPad(数字键盘)
borderStyle 边框类型
layer.borderColor = [UIColor redColor].CGColor 边框颜色
layer.borderWith 边框框宽
layer.cornerRadius 边框圆角
returnKeyType return健的样式
代理方法:先签订协议在.m的interface后面加<UITextFieldDelegate>
delegate = self
再添加代理方法-(BOOL)textFieldShouldReturn:(UITextField *)textField
把键盘收回方法 [textField resignFirstResponder/endEditing:YES]
textFieldDidBeginEditing开始编辑
textFieldDidEndEditing结束编辑
19.UIAlertController提示框
添加选项UIAlertAction[self presentViewController: ]弹出提示框
[self dismissViewControllerAnimated]
定时器NSTimer
20.UIImageView显示图片类
image = UIImageanimationImages 图片数组
animationDuration 逐帧动画时间
animationRepeatCount 重复次数
方法
startAnimating 开始动画
21.视图控制器
执行顺序loadView
viewDidLoad
viewWillAppear
viewDidAppear
消失
viewWillDisappear
viewDidDisappear
视图界面跳转
view.modalTransitionStyle怎么跳转
presentViewController
didReceiveMemoryWarning超内存
22.自定义视图
重写initFrame方法属性写成延展
23.事件
touches… 触摸手机userInteractionEnabled 用户交互
motion...摇晃手机
24.小球拖动
UITouch 获取触摸对象 anyObjectlocationInView 位置
25.手势
点击手势UITapGestureRecognizer
[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapMe)]
view添加手势addGestureRecognizer
numberOfTapsRequired 产生效果的点击数目
长按手势
UILongPressGestureRecognizer
minimumPressDuration 触发事件
allowableMovement 允许的移动范围
可以在时间中state判定状态UIGestureRecognizerState...
轻扫手势
UISwipeGestureRecognizer
direction 指定方向
缩放手势
UIPinchGestureRecognizer
拖动手势
UIPanGestureRecognizer
旋转手势
UIRotationGestureRecognizer
屏膜边界手势
UIScreenEdgePanGestureRecognizer
26.分段控件UISegmentedControl
[[UISegmentedControl alloc] initWithItems:NSArray]frame大小
selectedSegmentIndex 默认选项
[setTitle: forSegmentAtIndex] 修改标题
[image imageWithRenderingMode:UIImageRenderModeAlwaysOriginal]防止照片渲染
addTarget添加事件
27.UISwitch+UISlider
onTintColor开的颜色thumbTintColor 小球的颜色
addTarget添加事件
on开关打开
UISlider
thumbTintColor 小球的颜色
maximumTrackTintColor 未划过的颜色
minimumTrackTintColor 划过的颜色
maximumValue 最大值
minimumValue 最小值
addTarget添加事件
28.UISrollView滚动
contentSize设置大小pagingEnabled 分页显示
bounces 是否反弹
indicatorStyle = 修改滚动条样式 UIScrollViewIndicatorStyleWhite
contentOffset 偏移量
可以设置代理
代理事件 开始拖和结束拖,开始减速,开始动了,结束减速
UIPageControl 页面控制
可以设置选中和未选中的颜色
currentPage 当前页面
setContentOffset 方法的时候可以添加动画
29.导航控制器
UINavigationControllernavigationBar.barTintColor导航栏颜色
navigationBar.translucent 半透明
navigationItem.rightBarButtonItem 右侧按钮
[self.navigationController pushViewController: animated]
相当于栈
30.属性传值
在另外一个页面定义属性,在准备跳转的时候,对另外一个页面的属性进行赋值
31.代理传值
1.声明协议@property customDelegate<NSObject> sendMessageMethod @end2.声明属性(代理人)@property(nonatomic,assign)id<customDelegate>delegate
3.在协议中声明方法,用来传值
32.Block和单例传值
创建static的单例对象,进行页面的传值
33.通知(传值)
分广播和收音机注册通知(收音机)
[[NSNotificationCenter defaultCenter] addObserver:self selector: name: object:]
广播[[NSNotificationCenter defaultCenter] postNotificationName: object: userInfo:nil]
移除通知[[NSNotificationCenter defaultCenter] removeObject: selector: name: object:]
34.UITabbarController
viewControllers = 把页面加到Tabbar
35.UITableView
要实现两个方法cellForRowAtIndexPath 每行cell的处理
numberOfRawsInSection 行数
cell的方法和创建
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier: identifier]
textLabel.text 大文字
detailTextLabel.text 小文字
imageView.image 图片
accessoryType 右侧小箭头 = UITableViewCellAccessoryDetailButton
cell的高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
数据源数组:最好存对象
控制分区的代理方法
numberOfSectionsInTableView 分区的个数
heightForHeaderInSection 分区的高度
titleForHeaderInSection 分区标题
viewForHeaderInSection 自定义分区
tab.tableHeaderView 添加表头
编辑
系统编辑按钮
navigationItem.rightBarButtonItem = self.editButtonItem
点击Edit后执行的方法 setEditing
Edit的代理方法
canEditRowAtIndexPath 是否允许编辑
canMoveRowAtIndexPath 是否允许移动
UITableViewCellEditingStyle 插入还是删除类型
titleForDeleteConfirmationButtonForRowAtIndexPath 删除按钮的文字
commitEditingStyle 控制删除和插入操作
moveRowAtIndexPath 控制移动的方法
didSelectRowAtIndexPath 点击cell执行的方法
reloadData 刷新列表
36.自定义cell
创建UITableViewCell的继承类,用该类布局后,添加到cell容器中第一步:在.h定义需要的控件
第二步:重写初始化方法并cell添加控件[self.contentView addSubview:self.movieTime]
第三步:设置控件信息,方法-(void) layoutSubviews
37.AutoLayout
添加约束方法
38.SizeClass
可以横竖屏适配
39.可视化cell
要自定义identifier,要从xib文件加载cell
40.UICollectionView
创建布局类UICollectionViewFlowLayout布局类的属性
minimumLineSpacing 最小行间距
minimumInteritemSpacing 最小列间距
sectionInset 上下左右四边距 = UIEdgeInsetsMake();
scrollDirection 设置滚动方向 = UICollectionViewScrollDirectionVertical
类似tableView签订协议
添加代理方法
再自定义CollectionViewCell
还有分区
类似tableView