本文共 1257 字,大约阅读时间需要 4 分钟。
CKShapeView 支持CAShapeLayer
CKShapeView is a UIView
subclass that is backed by a CAShapeLayer
.
In other words, it is a view that is capable of rendering an arbitrary CGPath
.
It is completely configurable and animatable, so you can have custom drawn views without needing to subclass.
CKShapeView
has all of the properties of CAShapeLayer
, with the addition of a hitTestUsingPath
property that allows you to hit test using the path instead of the view's bounds.
CKShapeView是一个UIView的子类,它支持CAShapeLayer。
换句话说,它是一个view,可以用来渲染CGPath。
我完全配置了它并可以动画化,所以,你可以直接定制这个view而不需要继承至它的子类。
CKShapeView有着CAShapeLayer的所有属性,我添加了一个额外的属性hitTestUsingPath,允许你使用路径来做点击测试而不是这个view的bounds。
Example Usage
CKShapeView *pieView = [[CKShapeView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];CGFloat width = CGRectGetWidth(pieView.bounds);pieView.path = [UIBezierPath bezierPathWithOvalInRect:CGRectInset(pieView.bounds, width/4, width/4)];pieView.lineWidth = width/2;pieView.fillColor = nil;pieView.strokeColor = [UIColor blackColor];[self.view addSubview:pieView];UIViewAnimationOptions options = UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat;[UIView animateWithDuration:1.0f delay:0.0f options:options animations:^{ pieView.strokeEnd = 0.0f;} completion:nil];
转载地址:http://zztix.baihongyu.com/