ios基础整理

来源:互联网 发布:sql语言具有查询功能吗 编辑:程序博客网 时间:2024/05/16 15:27
一。
setTitle 设置title
currentTitle获得当前title
transform=CGAffineTransformMakeRotation
transform=CGAffineTransformRotate 用这个一次递增减
btn.enabled 是否点击可用
2.NSString *imageName=[NSString stringWithFormat:""]
调试:在调试框中写 po imageName
[textFiled resignFirstResponder]不当第一响应者退出键盘
[self.view  endEditing:YES]退出键盘
不允许直接修改对象的结构体属性的成员
允许直接修改对象的结构体属性
CGRect ii=self.dx.frame;
self.dx.frame.origin.x-=10;
self.dx.frame=ii;
【uiview beginAnimations:。。】开始动画
【uiview commiteAnimations】提交动画
二。
uiimage imagenamed:设置图片有缓存
uiimage imagewithcontentsofFIle 没有缓存
 performSelector 定时器清除缓存
控制状态栏的样式
ios7 在控制器中
-(UIStatusBarStyle)preferredStatesBarStyle
{return UIStatusBarStyle...}
ios6 在applicatio中
三。scrollView
 必须实现设置contentsize才能拖拽
有代理方法监听 开始。。
实现缩放:实现代理方法viewforzoominginscrollView。。
并设置缩放大小值
【self.scrollView setContentOffset:animated:】实现动画
定时器2个 【CADisplayLink】时间间隔小
【nstimer scheduledTimerWithTimeInterval:..】
使1个主线程在定时器后做两件事,用【NSrunloop 
currentRunloop】addTimer:self.timer forMode:
NSRunLoopCommonModes】
另外【self.timer invalidate】停止计时器后要清除
self.timer=nil;
让子控件不能被点击,就是让父控件不能被点击
设置 userIneractionEnabled=NO
UIAlertView 展示要show
让按钮失效 enable=NO
四。UITableView
三个数据源方法加头尾方法
cell两个两个lable:textLable和detailTextLable
模型中对象方法中字典转模型
KVC 【self setValuesForKeysWithDictionary:dict】
模型中有模型不能再用此方法要取出原来的字典数组 遍历赋值
设置tableView的行高 两种方式一种是设置rowHeight属性,另一种代理方法可设置不同行高 heightForRow..方法
cell.accessorytype=设置cell右侧指示器的类型
cell.accessoryView=[[UISwitch alloc]init]可添加开关按钮
设置cell背景或颜色 一般不用selectBackColor
1,创建View   2,cell.backgroundView=View
separator分割线tableHeadview tablefooterview 头尾部
cell的循环使用 
1,通过一个标识去缓冲池寻找可循环利用的cell
static Nsstring *ID=@“”;static可保证局部变量只分配一次存储空间
【tableview dequeueReusableCellwithidentifier:】      2,判断有没有可循环利用的cell     reuseIdentifier:没有的话重用标识
3,取出模型,设置数据
添加右边索引 一个数据源方法 内部KVC取title返回
UIAlertView 有个textFieldAtIndex:弹出输入框
有代理方法处理点击事件
刷新数据要改模型数据不改labletext
用row赋值绑定alertView的tag来传递,然后 reloadData全部刷新tableview数据
reloadRowsAtIndexPaths: 带动画,局部刷新一行
真实数据行数没有改变
deleterowsAtIndexPaths : 删除一行
insertRowsAtIndexPahts: 添加
先删除模型再刷新
cell滑动删除调用代理
四。
footerView的宽度就是tableview的宽度只设高度
xib加载footerview
当一个对象从xib中创建初始化完毕的时候调用两个方法awakeFromNib 和 initWithCoder
自定义view所有子控件加载到 contentView中
返回文字的尺寸方法:boundingRectWithSize
一个cell配备两个模型,一个数据,一个frame、cell高度
属性如果没有set方法只能用点语法
五。
文本中加入更复杂的内容 如表情
要用到 CoteText 或 TextKit(ios7)
textView.titleLable.numberOfLines=0自动换行
通知:键盘,设备UIDeVice
在通知中心注册过的对象,在对象销毁之前一定要移除所有监听
[[nsnotificationcenter defaultCenter]removerObserver:self]
六。
UIPickView跟tableview一样有数据源方法和代理方法 component列row行
调用代理方法在viewdidload中初始化,优点是可以循环
随机数:arc4random()%count=arc4random_uniform(count)
pickview的循环使用,调用有一个reusingView的方法(创建传递返回),在mvc 试图中判断 
七。
textField有个inputView属性可以添加一些按钮或控件如Button、UIDatePicker等等
自定义文本键盘上显示的工具空间:textField有个属性inputAcceseryView
UIToolbar 一般用在键盘上面且只能放UIbarButtonItem,item只能从左到右排列,靠弹簧
伸缩。bartincolor主导颜色
八。
在pch文件中定义 #define MJLog(。。。)NSLog(__VA_ARGS__) 防止在在 程序中调用nslog降低性能
发布时在NSLog前写//
自动调用 
#ifdef DEBUG
#define #define MJLog(。。。)NSLog(__VA_ARGS__)
#else
#define MJLog(。。。)
#endif
全局定义头文件#ifdef __OBJC__
              #import<>
              #endif
函数的外部声明:extern 。。
application 里面有个openUrl方法可以打开网址打电话发短信,打开其他程序 
九。
监听控件的三种方法
addTarget 、代理、通知
UIActionSheet 初始化完 要 showInView
有代理方法处理按钮
只要对象是从xib或storyboard创建就不会调用initwithStyle初始化会调用awakeWithNIb通过手机才会cell的frame发生变化时调用layoutsubviews
十。
存储数据
偏好设置,要设置同步
十一。
Model窗口
调用present
取消dimissViewController
model用segue传递数据的时候

model是导航控制器的时候先取得导航控制器再取得topViewController栈顶控制器。逆传用代理

十二,

1.tableView的刷新
1> 数据刷新的总体步骤
* 修改模型数据
* 刷新表格(刷新界面)


2> 刷新表格(刷新界面)的方法
* 全局刷新(每一行都会重新刷新)
- (void)reloadData;


* 局部刷新(使用前提: 刷新前后, 模型数据的个数不变)
- (void)reloadRows:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;


* 局部删除(使用前提: 模型数据减少的个数 == indexPaths的长度)
- (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;


2.@property属性的用法
* weak(assign) :  代理\UI控件
* strong(retain) : 其他对象(除代理\UI控件\字符串以外的对象)
* copy : 字符串
* assign : 非对象类型(基本数据类型int\float\BOOL\枚举\结构体)

0 0
原创粉丝点击