Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 动画贴图覆盖:如何使添加的MKCircle从0扩展到其完整大小?_Ios_Mkmapview_Core Graphics_Mkoverlay_Mkoverlaypathrenderer - Fatal编程技术网

Ios 动画贴图覆盖:如何使添加的MKCircle从0扩展到其完整大小?

Ios 动画贴图覆盖:如何使添加的MKCircle从0扩展到其完整大小?,ios,mkmapview,core-graphics,mkoverlay,mkoverlaypathrenderer,Ios,Mkmapview,Core Graphics,Mkoverlay,Mkoverlaypathrenderer,我想让我的MKCircle在添加到地图时从0扩展到指定的半径大小。MkoveryRenderer给了我一个很好的结果,但它太自然地添加了这个循环。我想动画它有一个更平滑的入口,但我不知道如何做没有动画层 我尝试过添加一个带有CABasicAnimation的扩展UIView,并在完成时用覆盖替换它,但代码很难看,添加覆盖时会出现明显的闪烁 我看过另外两个声称有动画覆盖的项目,但它们都不是我想要的银弹 早在2012年,这个家伙的子类是MKCircleView,这显然是不赞成/强烈反对的 这个家

我想让我的MKCircle在添加到地图时从0扩展到指定的半径大小。MkoveryRenderer给了我一个很好的结果,但它太自然地添加了这个循环。我想动画它有一个更平滑的入口,但我不知道如何做没有动画层

我尝试过添加一个带有CABasicAnimation的扩展UIView,并在完成时用覆盖替换它,但代码很难看,添加覆盖时会出现明显的闪烁

我看过另外两个声称有动画覆盖的项目,但它们都不是我想要的银弹

  • 早在2012年,这个家伙的子类是MKCircleView,这显然是不赞成/强烈反对的
  • 这个家伙将UIImageView子类化,添加了一个圆形png,并添加了一些Cabasicanimation以使其扩展和褪色。然后,每当选择注释时,他都会将此图像视图添加到地图中。动画工作正常,但每当区域开始更改时,动画都会被删除,并且只有在区域更改完成后才会再次添加。它不是根据区域更改重新绘制的功能覆盖。他所拥有的只是一个设置为nil的MKCircle,上面有一条注释,告诉你如果想要覆盖,就“改变它”。当UIImageView完成扩展时,我可能会“更改它”以添加覆盖,但有消息告诉我,它将产生与UIView解决方案相同的闪烁结果
还有另一种我不太确定的方法(因为我从未尝试仅从核心图形生成动画效果),那就是子类化
mkoverlayrender
,将
-(void)drawMapRect:
中的自定义图形(MKCircle?)设置为宽度和高度x=0,使用
NSTimer
增加x,并调用
setneedsDisplayinPrect
,直到圆达到其最大尺寸。对我来说,这听起来有点遥不可及,也许有一种更简单的方法可以做到这一点


我需要有人给我指出这个问题的正确方向。

你找到解决办法了吗?