Ios 动画贴图覆盖:如何使添加的MKCircle从0扩展到其完整大小?
我想让我的MKCircle在添加到地图时从0扩展到指定的半径大小。MkoveryRenderer给了我一个很好的结果,但它太自然地添加了这个循环。我想动画它有一个更平滑的入口,但我不知道如何做没有动画层 我尝试过添加一个带有CABasicAnimation的扩展UIView,并在完成时用覆盖替换它,但代码很难看,添加覆盖时会出现明显的闪烁 我看过另外两个声称有动画覆盖的项目,但它们都不是我想要的银弹Ios 动画贴图覆盖:如何使添加的MKCircle从0扩展到其完整大小?,ios,mkmapview,core-graphics,mkoverlay,mkoverlaypathrenderer,Ios,Mkmapview,Core Graphics,Mkoverlay,Mkoverlaypathrenderer,我想让我的MKCircle在添加到地图时从0扩展到指定的半径大小。MkoveryRenderer给了我一个很好的结果,但它太自然地添加了这个循环。我想动画它有一个更平滑的入口,但我不知道如何做没有动画层 我尝试过添加一个带有CABasicAnimation的扩展UIView,并在完成时用覆盖替换它,但代码很难看,添加覆盖时会出现明显的闪烁 我看过另外两个声称有动画覆盖的项目,但它们都不是我想要的银弹 早在2012年,这个家伙的子类是MKCircleView,这显然是不赞成/强烈反对的 这个家
- 早在2012年,这个家伙的子类是MKCircleView,这显然是不赞成/强烈反对的
- 这个家伙将UIImageView子类化,添加了一个圆形png,并添加了一些Cabasicanimation以使其扩展和褪色。然后,每当选择注释时,他都会将此图像视图添加到地图中。动画工作正常,但每当区域开始更改时,动画都会被删除,并且只有在区域更改完成后才会再次添加。它不是根据区域更改重新绘制的功能覆盖。他所拥有的只是一个设置为nil的MKCircle,上面有一条注释,告诉你如果想要覆盖,就“改变它”。当UIImageView完成扩展时,我可能会“更改它”以添加覆盖,但有消息告诉我,它将产生与UIView解决方案相同的闪烁结果
mkoverlayrender
,将-(void)drawMapRect:
中的自定义图形(MKCircle?)设置为宽度和高度x=0,使用NSTimer
增加x,并调用setneedsDisplayinPrect
,直到圆达到其最大尺寸。对我来说,这听起来有点遥不可及,也许有一种更简单的方法可以做到这一点
我需要有人给我指出这个问题的正确方向。你找到解决办法了吗?