14. 核心动画

来源:互联网 发布:如何雇佣网络水军 编辑:程序博客网 时间:2024/04/27 09:35
    1. Storyboardxib默认是归档在程序中,当使用的时候需要先解档。

    他就会调用 -(instancetype)initWithCoder:(NSCoder *)aDecoder{}

    然后就会转换成代码

    awakeFromNib这个事加载xib的时候调用先解档再调用这个

    1. storyboard的本质是xib
    2. Nstimer通常是每隔一秒以上调用某一个方法的时候使用
    3. CADisplayLink 他可以调用一秒钟调用60
    4. CADisplayLink *display = [CADsiplayLink displayLinkWithTarget:self selector:@selector(setNeedsDisplay)];

    [Display addToRunLoop:[NSRunLoop mainRunLoop] forMode:]

    1. UI层次只有一条线程 图片轮播器只有一条线程
    2. 上下文保存线条的属性具体
    3. C语言ocnilcNULL 

    CGMutablePathpath = CGPathCreateMutable();

    CGPathMoveToPoint (path, NULL, 100 100);

    CGPathAddLineToPoint(path, NULL, 200, 300);

    CGContextAddPath(ctx, path);

    1. arc是编译器特性,是在对应的位置添加retainrelease,autoRelease。

    不过这是针对oc对象,智能管理oc对象的内存

    如果是c语言需要手动管理内存

    只要在c中出现create, copy, retain,都需要释放内存

    CGPathRealease(path);corefundation也可以使用CFRelease;

    1. Analyze是上线的时候,我们需要进行内存检测。
    2. 两步合一步CGContextStrokeRect(ctx, CGRectMake(100, 100, 100, 50));
    3. UIButton *btn = [uibutton buttonwithtype];
    4. UIGraphicsBeginImageContextWithOptions(CGSize size, 不透明 == YES ,是否被压缩 0标示不压缩);
    5. NSArray/NSDictionary/NSString/NSData
    6. 图片要写入文件要转成2进制

    CGFloat compressionQuality:标示图片质量,压缩值

    NSData *imageData  = [UIImageJPEGRepresentation(image, 压缩至)

    NSData *imageData = UIImagePNGRepresentation(image);

    [imageData writeToFile:@""可以拖文件夹  atomically:YES];

    1. 类方法一般比对象方法快方法中没有访问成员变量的时候就可以使用类方法
    2. 抽取工具类方法 要找对应的类 可以写Extension或者Help

     

    1. 截屏

    UIGraphicBeginImageContext(self.view.frame.size);

    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]

    UIImage *clipImage = UIGraphicsGetImageFromCurrentImageContext();

    UIgraphicsEndImageContext();

    NSData *clipsImageData = UIImagePnGRepresentation(clipImage);

    [clipImageData writeToFile:@"/User --- "automically: YES];

    1. 保存到相册中就不需要转成2进制
    2. UIImageWriteToSavedPhotosAlbum(clipImage, self, @selector(这个点进去有的))

    在这个方法中判断if(error)如果是真就保存失败

    1. 三大事件触摸事件加速计事件 远程控制事件
    2. UIApplication UIVIEWcONTROLLER uivgIEW都继承自UIResponder都能处理事件
    3. touchesBegan touchesMoves touchesEnded touchesCancles
    4. motionBeganmotionEndedmotionCancelled
    5. 点击次数tabCount  触摸了多少秒timestamp
    6. Nsset存储无序的不同的对象

    NSArry存储有序的可以重复的对象

    NSDictionary:用键值对来存储数据

    1. 一次触摸事件获取的手指是一样的
    2. 获取当前触摸点的位置 CGPointcurrentPoint = [touch locationInView:self];

    获取上一次的触摸点的位置[touch previousLocationInView:self];

0 0
原创粉丝点击