-
苹果帮助文档更新目录:
https://developer.apple.com/library/downloads/docset-index.dvtdownloadableindex (在里面可以找到对应的文档链接) -
修改模板文件可以使新建类文件的时候,自动打上自己想要的注释:
模板文件目录:/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate
-
关于 NSTimer定时器注意点:
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(run) userInfo:nil repeats:YES]; //当定时器要做的是更新UI时,一定要把定时器加到当前的运行循环,不然定时器不会执行 //更新UI必须在主线程,但是当他们同时执行的时候,定时器就会停住 [[NSRunLoop currentRunLoop]addTimer:timer forMode:NSRunLoopCommonModes];
-
UIView的边界:
clipsToBounds属性决定了子视图的显示范围。(默认值为NO。)
- YES时,剪裁超出父视图范围的子视图部分;
- 当取值为NO时,不剪裁子视图,超出部分继续显示。
layer.masksToBounds属性决定了子视图图层的显示范围。(iOS6默认值为YES,iOS7默认值为NO。)
- YES时,剪裁超出父视图图层范围的子视图图层部分;
- 当取值为NO时,不剪裁子视图图层,超出部分继续显示。
- 绘图:
常用方法
/** 可以单独的影响某一块,而不影响其他的 */
CGContextSaveGState();//保存当前上下文
CGContextRestoreGState();//恢复保存的上下文
/** 结合上面的函数使用,效果不一般 */
CGContextRotateCTM(,);//旋转矩阵操作
CGContextScaleCTM(, , );//缩放矩阵操作
CGContextTranslateCTM(, , );//平移矩阵操作
CGContextClip();//裁剪一个区域作为以后的绘图区域
UIGraphicsBeginImageContextWithOptions(尺寸, 周围是否不透明, 缩放(0.0:表示默认尺寸));//保存图片
UIGraphicsBeginPDFContextToData(, , )//保存PDF
UIGraphicsBeginPDFContextToFile(, , )//保存PDF
>截屏
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
-
result = object ? : [self createObject]; <==>result = object ? object : [self createObject];
-
根据形变求旋转角度 atan2(view.transform.b,view.transform.a)
-
裁剪图片(裁剪的时候是像素点)
CGImageCreateWithImageInRect(CGImageRef image, CGRect rect)
transform.m34 表示人眼离屏幕的距离(不是正的修改距离,而是为了营造3D效果,而设置的一个参数,例如 - 1 / 100 : 表示设置人眼离屏幕的距离为 100) -
关于内存释放:
下一次循环的时候清除无用的内存(没有被强引用的对象)
-
在main之前,就会加载类(+load)
-
appearance
//获取ContainerClass及其子类的对象的象征
+(instancetype)appearanceWhenContainedIn:(Class <UIAppearanceContainer>)ContainerClass,nil;
-
block格式 敲inline会提示block格式
-
在Xcode6导入pch文件
pch prefix (路径定位到工程文件夹,注意不用加“/”)
-
oc强制去除警告: #pragma clang diagnostic ignored "错误类型”
-
isMemberOfClass:是否是某个类的实例(必须是这个类的实例,子类) isKindOfClass
-
[button sizeToFit] :按钮会根据内容适配尺寸
-
block 循环引用
block 会强引用block(代码块)里面的强指针,所以可能会导致会导致循环引用
包括用下划线访问成员变量也会造成循环引用(下划线,其实也是拿到对象的指针,再访问到他的成员变量)
要用 __weak 创建一个弱指针,在block中使用,从而避免循环引用
-
在tableview的cell上添加textfield,系统会自己做好键盘处理
-
+ (void)initialize
方法会在类或者子类第一次使用的时候调用,表示类或者它的子类的类对象初始化完毕
网友评论