码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 开发小记 (七)

时间:2016-01-21 00:23:21      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

最近要换地方工作了,整理下之前遇到的问题。

1、StatusBar 
View controller-based status bar appearance
状态栏属性设置后,plist修改后才有效。
 
 
2、Auto Layout
Hugging priority 确定view有多大的优先级阻止自己变大。
Compression Resistance priority确定有多大的优先级阻止自己变小。
简单来说,Hugging的收缩的意思,就是当有A,B两个元素连在一起,当他们的superView变大的时候(A 和 B也要变大),哪个有更大的优先级保持原来的大小;
Compression Resistance 是压缩阻力的意思,就是A、B两个元素连在一起,当他们的superView变小的时候(A和B也要变小),哪个有更大的优先级保持原来大小;
 
 
3、modal半透明页面
弹出一个半透明的viewController:
在ib设置被弹出的展示方式:OverCurrentContext
然后再调用 presentViewController即可。
 
 
4、Xcode7 卡顿问题
 Source Control 里面的 Automatically 全部关掉 ; 
设置 >> 通用 >> 最近使用项目 (改成0) / 允许在这台 Mac 和 iCloud 设备之间使用 Handoff (关掉);
 
 
 
5、viewController生命周期
disappear 里面做一些取消监听的操作时,要考虑到Modal一个viewController的时候,会调用disappear;
同时在navigationController poptoroot的时候,中间的一些VC不会调用disappear。
 
6、ReactiveCocoa
RAC是基于KVO的,而NSMutableArray并不会在调用addObject或removeObject时发送通知;解决方案可以通过NSArray来解决;
与此类似,Textfield的text如果是代码设置值,不会触发信号。
view.frame 不参与KVO,bounds可以。
 
 7、Cell 自适应
当实用UITableViewCell 的自动延伸时候,cell会自动添加一个height的约束。(可以把某个view 的height改成pro = 750,不会有warning)
一个类似微信朋友圈添加图片的功能(UICollectionView实现,通过修改constraint高度,让view自适应)。当添加一个图片的时候,
如果是放在UIViewController里面,修改constraint 的值,会导致view重新layout。
如果是放在UItableviewCell 里面的,修改constrant的值,会导致cell的重新layout,但是不会导致tableview layout。需要在cell调用一次layoutIfneed。
 
 
 
 8、架构
MVC 和 MVVM 的关于网络层的区别:
MVC里面的Model可以做成单例,Message 可以独立出去,通过单例回调Model。model通过notify通知controller。
MVVM里面的model,不是单例,同时与controller的状态绑定,message集成在ViewModel里面。
 
9、AFNetworking 
constructingBodyWithBlock
AFNetworking upload的时候才用这个参数
如果是普通的post,不能带有这个参数。
(对于不同的任务,AFNetworking会生成不同的task)
 
 
10、ReactiveCocoa 与 UI显示
RACOberserver 用于变动的内容;
如果是用户操作,发送协议,协议回来更新的,可以用subscribenext,在next中刷新显示;
flattenMap 不透传completed,里面的信号完成了只是外面的信号的开始,外面的信号完成了才有completed
text_signal 一般用next 不用completed
 
 
11、UISearchController
if the UISearchController is deallocated before its view is loaded, this warning will appear.
在用搜索的时候产生warning,那么下面的函数可以解决。
- (void)dealloc {
    [self.mySearchController.view removeFromSuperview];
}
 
 
12、视图切换
视图A modal 视图M 之后,如果要在modal  dismiss跳转,记得延迟到下一个runloop(或者直接延迟0.1s)
 
13、objective-c
 A继承B,A重写了B的方法test,那么当A 调用 test是A之后的方法。
在super 中,self还是A,调用的还是A的test。

iOS 开发小记 (七)

标签:

原文地址:http://www.cnblogs.com/loying/p/5146983.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!