- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如何为 CAShapeLayer 路径和填充颜色设置动画?
如何为 strokeEnd 设置动画以显示正在绘制的路径?以及如何为 fillColor 设置动画?
最佳答案
动画路径
//setup the CAShapeLayer
myShapeLayer.strokeColor = [[UIColor blueColor] CGColor];
myShapeLayer.lineWidth = 5;
myShapeLayer.fillColor = [[UIColor yellowColor] CGColor];
//Display it!
[self.view.layer addSublayer:myShapeLayer];
//Animate path
CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
pathAnimation.duration = 1.5f;
pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];
pathAnimation.repeatCount = 10;
pathAnimation.autoreverses = YES;
[myShapeLayer addAnimation:pathAnimation forKey:@"strokeEnd"];
//Animate colorFill
CABasicAnimation *fillColorAnimation = [CABasicAnimation animationWithKeyPath:@"fillColor"];
fillColorAnimation.duration = 1.5f;
fillColorAnimation.fromValue = (id)[[UIColor clearColor] CGColor];
fillColorAnimation.toValue = (id)[[UIColor yellowColor] CGColor];
fillColorAnimation.repeatCount = 10;
fillColorAnimation.autoreverses = YES;
[myShapeLayer addAnimation:fillColorAnimation forKey:@"fillColor"];
希望对您有所帮助:)
2021 年更新
swift
myShapeLayer.strokeColor = UIColor.blue.cgColor
myShapeLayer.lineWidth = 5
myShapeLayer.fillColor = UIColor.yellow.cgColor
//Display it!
view.layer.addSublayer(myShapeLayer)
//Animate path
let pathAnimation = CABasicAnimation(keyPath: "strokeEnd")
pathAnimation.duration = 1.5
pathAnimation.fromValue = NSNumber(value: 0.0)
pathAnimation.toValue = NSNumber(value: 1.0)
pathAnimation.repeatCount = 10
pathAnimation.autoreverses = true
myShapeLayer.add(pathAnimation, forKey: "strokeEnd")
//Animate colorFill
let fillColorAnimation = CABasicAnimation(keyPath: "fillColor")
fillColorAnimation.duration = 1.5
fillColorAnimation.fromValue = UIColor.clear.cgColor
fillColorAnimation.toValue = UIColor.yellow.cgColor
fillColorAnimation.repeatCount = 10
fillColorAnimation.autoreverses = true
myShapeLayer.add(fillColorAnimation, forKey: "fillColor")
关于iphone - 如何为 CAShapeLayer 路径和 fillColor 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651717/
我希望能够设置箱线图系列的填充颜色,然后在某些状态下覆盖该颜色(悬停并选择)。 问题是,每当我设置默认填充颜色时,悬停和选择状态都不再起作用,并且仅使用默认填充颜色。 如果未设置默认填充颜色,则状态
我正在尝试对这样的折线应用fillColor。 但我做不到。这里出了什么问题? poly = new google.maps.Polyline({ strokeColor: '#0
我通过将 fillColor 设置为与背景相同来“伪造”一个清晰的圆圈作为标记。它工作得很好。现在,悬停时,我试图让圆圈填充系列颜色。我不能将它设置为 null,因为那样它仍然采用背景颜色。 有什么想
CircleOptions circleOptions = new CircleOptions() .center(new LatLng(latitude, longitude
我有一个接受 UIBezierPath 作为参数并相应地绘制形状的方法。如果我用纯色填充形状,它会很好地呈现,但如果我尝试使它成为带有 alpha 的颜色,我首先会收到 ARC 警告,要求更改代码并使
我编写了这个自定义 UIView 类来绘制自定义形状 class ShapeView: UIView { var color: UIColor? init(frame: CGRect, color:
我想旋转黑白图像。我尝试按如下方式使用旋转功能: image.rotate(angle, fillcolor=255) 我需要旧版本的 Python 和 Pillow,它们不支持“fillcolor”
我想在 Canvas 上创建随机粒子。但是,我无法为每个粒子提供随机确定的 RGB 颜色值,它不会读取我的 fillStyle。 有人可以帮忙吗? 编辑:JSBIN 示例 http://jsbin.c
但是,我无法更改十字的背景(如三 Angular 形符号)!有解决办法吗? marker: { symbol: 'cross', fillColor: 'white', lin
我刚刚浪费了很多时间来寻找为什么下面的代码给出不相等结果的答案: let originalColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha:
因此,如果值在一定范围内,我想更改各个条形的颜色。我如何在 JavaScript 中执行此操作?我真的不想弄乱我的 JSON 数据。 var chart = AmCharts.makeChart( "
我正在尝试使用 plotly 在 R 中构建 map 。我将在对这篇文章的回复中分享构建数据框所需的代码。这是我用来绘制图表的代码: florida %>% group_by(group) %>%
我按照 graphviz 文档中的确切说明进行操作,但无法向节点添加填充颜色。 这是我的图表: digraph hello_world { node [href="javascript:void(c
我们正在开发一个 iOS 应用程序并且在设置 MGLFillStyleLayer (MapBox iOS SDK) 的填充颜色时遇到问题。 我们有一个大的 .geojson 文件,它被解析并添加到标准
是否可以从 didTapOverlay GMSMapViewDelegate 委托(delegate)方法更改 GMSPolygon .fillColor 属性?这是委托(delegate)方法: f
我想在我的网站上使用 jquery.fillcolor.js。 我想知道如何将图像主色设置为子 div、文本或按钮。 插件演示网址:https://codepen.io/farreal/pen/KRB
我正在设置两个定义,我希望 fillColor 从 drawBar 中读取。程序未读取与该值对应的正确颜色。 import turtle wn = turtle.Screen()
如何将多个PANTONE 颜色列表 传递给PDF 库 set_graphics_option 函数? optList = "fillcolor={spotname {PANTONE 281 U} 1}
是否有任何选项可以用 fillColor: '#dedede' 填充列背景色?fillColor 在 tablecell 中工作得很好,同时它不适用于列 :( function print(
我真的搞不懂,我需要在图像上叠加一个椭圆。问题是用 matplotlib.patches 绘制椭圆,但最终得到一个白色图形或一个填充椭圆。代码非常原始,我不确定该怎么做,因为我从未使用过 matplo
我是一名优秀的程序员,十分优秀!