美文网首页
iOS核心动画高级技巧03.1-Custom Drawing

iOS核心动画高级技巧03.1-Custom Drawing

作者: 属七降九 | 来源:发表于2017-04-16 23:51 被阅读0次

    引入两个类拓展 UIView+LM.h 和 CALayer+LMXYWH.h
    http://www.jianshu.com/p/03d38e6e25f9

    //
    //  ViewController.m
    //  03.1-Custom Drawing
    //
    //  Created by laimin on 17/4/16.
    //  Copyright © 2017年 laimin. All rights reserved.
    //
    
    #import "ViewController.h"
    
    @interface ViewController ()<CALayerDelegate>
    @property (strong,nonatomic)UIView *layerView;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        self.view.backgroundColor = [UIColor grayColor];
        
        self.layerView = [[UIView alloc]init];
        self.layerView.backgroundColor = [UIColor whiteColor];
        self.layerView.W = 200;
        self.layerView.H = 200;
        self.layerView.center = SCREEN_CENTER;
        [self.view addSubview:self.layerView];
        
        //给视图添加一个蓝色子视图
        CALayer *blueLayer = [CALayer layer];
        blueLayer.backgroundColor = [UIColor blueColor].CGColor;
        blueLayer.frame = CGRectMake(50, 50, 100, 100);
        [self.layerView.layer addSublayer:blueLayer];
        
        //实现 UIView 的 -drawRect: 方法, UIView 可以帮你做完剩下的工作,包括要重绘的时候调用 -display方法
        
        //Custom Drawing
        blueLayer.delegate = self;
        
        //force layer to redraw (强迫 layer 重绘)
        [blueLayer display];
    }
    //当需要被重绘时,CALayer会调用这个方法给layer一个寄宿图
    //-(void)displayLayer:(CALayer *)layer
    //{
    //    
    //}
    //如果-displayLayer:没有实现,CALayer会尝试调用此方法
    -(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
    {
        CGContextSetLineWidth(ctx, 10);
        CGContextSetStrokeColorWithColor(ctx, [UIColor redColor].CGColor);
        CGContextStrokeEllipseInRect(ctx, layer.bounds);
    }
    
    /**
     总结
     本章介绍了寄宿图和一些相关的属性。你学到了如何显示和放置图片,使用拼合技术来显示,以及使用CALayerDelegate和CoreGraphics来绘制图层内容
     */
    
    
    QQ20170416-235141.png

    相关文章

      网友评论

          本文标题:iOS核心动画高级技巧03.1-Custom Drawing

          本文链接:https://www.haomeiwen.com/subject/zvyzattx.html