相关疑难解决方法(0)

如何为UIBezierPath设置动画

我想将矩形的UIBezierPath设置为三角形的动画,而不是为路径上的视图设置动画,而是为路径本身设置动画,使其从一种形状变为另一种形状.路径将添加到CALayer

CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.fillColor = [[UIColor whiteColor] CGColor];    
maskLayer.path = [self getRectPath];

-(CGPathRef)getTrianglePath
{
    UIBezierPath* triangle = [UIBezierPath bezierPath];
    [triangle moveToPoint:CGPointZero];
    [triangle addLineToPoint:CGPointMake(width(self.view),0)];
    [triangle addLineToPoint:CGPointMake(0, height(self.view))];
    [triangle closePath];
    return [triangle CGPath];
}

-(CGPathRef)getRectPath
{
    UIBezierPath*rect = [UIBezierPath bezierPathWithRect:self.view.frame];
    return [rect CGPath];
}
Run Code Online (Sandbox Code Playgroud)

animation objective-c calayer cgpath uibezierpath

23
推荐指数
1
解决办法
2万
查看次数

标签 统计

animation ×1

calayer ×1

cgpath ×1

objective-c ×1

uibezierpath ×1