Ios7 iOS 7地图上的动画圆圈
我正在使用YHAnimatedCircleView()在地图上显示一个动画圆圈。它在iOS6中运行良好,而我在iOS7中遇到了一些问题 圆圈在地图上出现很长一段时间后,返回以下错误:Ios7 iOS 7地图上的动画圆圈,ios7,mkoverlay,mkmapview,catransaction,Ios7,Mkoverlay,Mkmapview,Catransaction,我正在使用YHAnimatedCircleView()在地图上显示一个动画圆圈。它在iOS6中运行良好,而我在iOS7中遇到了一些问题 圆圈在地图上出现很长一段时间后,返回以下错误: CoreAnimation: warning, deleted thread with uncommitted CATransaction; 0 QuartzCore 0x00fcfa96 _ZN2CA11Transaction4pushEv + 374 1
CoreAnimation: warning, deleted thread with uncommitted CATransaction;
0 QuartzCore 0x00fcfa96 _ZN2CA11Transaction4pushEv + 374
1 QuartzCore 0x00fcfe72 _ZN2CA11Transaction15ensure_implicitEv + 316
2 QuartzCore 0x0106791b _ZN2CA5Layer12begin_changeEPNS_11TransactionEjRP11objc_object + 37
3 QuartzCore 0x0106914e _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 290
4 QuartzCore 0x010692a9 -[CALayer setPosition:] + 68
5 QuartzCore 0x010699af -[CALayer setFrame:] + 799
6 UIKit 0x0126329c -[UIView(Geometry) setFrame:] + 302
7 UIKit 0x01361d50 -[UIImageView _setViewGeometry:forMetric:] + 210
8 UIKit 0x01361fae -[UIImageView setFrame:] + 63
9 SampleApp 0x0001d331 -[YHAnimatedCircleView drawMapRect:zoomScale:inContext:] + 1329
10 MapKit 0x00c1b8ff __43-[MKOverlayView overlay:drawKey:inContext:]_block_invoke + 847
11 MapKit 0x00c1b572 -[MKOverlayView overlay:drawKey:inContext:] + 268
12 VectorKit 0x0bff941d -[VKRasterOverlay drawKey:inContext:] + 61
13 VectorKit 0x0bff75e5 __40-[VKRasterOverlayTileSource _queueDraw:]_block_invoke + 485
14 libdispatch.dylib 0x0647d818 _dispatch_call_block_and_release + 15
15 libdispatch.dylib 0x064924b0 _dispatch_client_callout + 14
我不知道你的框架到底在做什么,但是图层的绘制不应该在主线程中完成。所以就像在讨论和解决的线程中一样,您应该只使用异步调度程序
dispatch_async(dispatch_get_main_queue(), ^{
[_mapView addOverlay:circle];
});
下面是一个例子,它为iOS7更新了YickHong解决方案
在iOS7中,您不能再向MKOverlay添加子视图。查看这里的代码,如果有任何问题,请与我联系jeff@energ.io.我尝试采用您的解决方案,但它没有改变任何东西,我得到了与上面“CoreAnimation:警告,已删除线程,未提交CATTransaction”相同的错误。确定。也许您没有将代码的所有相关部分都发送出去。另见。谢谢,不可能。我试图将所有的覆盖图发送到主队列上,但没有结果。