CALayer绘图
来源:互联网 发布:比较好的c语言论坛 编辑:程序博客网 时间:2024/05/20 14:39
// 通过CALayer的代理方法进行绘图,可用于社交app的头像应用// CALayerGraphicsViewController.m// CALayerGraphics//// Created by xiaoyao on 15/3/6.// Copyright (c) 2015年 lijien. All rights reserved.//#import "CALayerGraphicsViewController.h"#define PHOTO_HEIGHT 150@interface CALayerGraphicsViewController ()@end@implementation CALayerGraphicsViewController- (void)viewDidLoad { [super viewDidLoad]; [self myCalyerGraphics];}- (void)myCalyerGraphics { CALayer *layer = [[CALayer alloc] init]; layer.bounds = CGRectMake(0, 0, PHOTO_HEIGHT, PHOTO_HEIGHT); layer.position = CGPointMake(160, 200); layer.backgroundColor = [UIColor redColor].CGColor; layer.cornerRadius = PHOTO_HEIGHT / 2; layer.borderColor = [UIColor whiteColor].CGColor; layer.borderWidth = 2; layer.masksToBounds = YES; layer.delegate = self; [self.view.layer addSublayer:layer]; // 必须调用,否则图层上绘制的内容无法显示,并且图层的代理方法也不会调用 [layer setNeedsDisplay];}#pragma mark - calayerDlelegte - (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx { CGContextSaveGState(ctx); CGContextScaleCTM(ctx, 1, -1); CGContextTranslateCTM(ctx, 0, -PHOTO_HEIGHT); UIImage *image = [UIImage imageNamed:@"photo.png"]; CGContextDrawImage(ctx, CGRectMake(0, 0, PHOTO_HEIGHT, PHOTO_HEIGHT), image.CGImage); CGContextRestoreGState(ctx);}- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CALayer *calayer = self.view.layer.sublayers[0]; CGFloat width = calayer.bounds.size.width; if (width == PHOTO_HEIGHT) { width = PHOTO_HEIGHT * 2; } else { width = PHOTO_HEIGHT; } calayer.bounds = CGRectMake(0, 0, width, width); calayer.position = [touch locationInView:self.view]; calayer.cornerRadius = width / 2;}@end
0 0
- CALayer绘图
- CALayer绘图
- CALayer自定义绘图
- CALayer之绘图
- 用CALayer绘图
- CALayer简介 (八)在CALayer上绘图
- iOS开发系列-动画绘图CALayer
- IOS-swift 动画05 CALayer绘图动画
- iOS绘图之CALayer、遮罩、CAShapeLayer
- 动画—CALayer的初步学习四:CALayer绘图—使用自定义图层绘图
- iOS绘图CALayer、UIBezierPath运用(边框、填充、复制、渐变)
- CALayer的可动画属性和使用CALayer的代理来绘图
- 动画—CALayer的初步学习二:CALayer绘图—通过代理方法绘图(学会从博客上自学)
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- Content Provider 之Creating a Content Provider
- 网页关闭(解决window.close在火狐下不兼容问题)
- 金融IC卡行业应用的发展--困境(2)
- Setting up Mosquitto 1.4 with libwebsockets on CentOS 7 on Google Compute Engine
- 【JSP开发】自己写的过滤器Filter例子
- CALayer绘图
- 在数据库表的指定位置添加字段
- java 进程和线程
- 在MAC上搭建SVN
- 锐图软件集团公司年会
- 金融IC卡行业应用的发展--合作要点(1)
- AIX 密码策略
- 糟糕的早晨
- Ubuntu中Qt5.3连接MySql无法加载驱动问题解决