MapKit iOS rendererForOverlay刷新失控

MapKit iOS rendererForOverlay刷新失控,ios,objective-c,xcode,mapkit,mkmapview,Ios,Objective C,Xcode,Mapkit,Mkmapview,我在使用addOverlay和rendererForOverlay时遇到了MKMapView的MapKit问题。测试和调试正在使用Xcode 9.1(9B55)的设备(iPhone7iOS 11.1.1)上进行。正在为贴图视图中的所有分幅重复刷新覆盖渲染器(每秒调用2500次drawMapRect:)。对渲染器的调用将忽略setNeedsDisplayInMapRect:中更改的矩形,并且不是由setNeedsDisplayInMapRect启动的。即使在Xcode报告应用程序使用超过160%的

我在使用addOverlay和rendererForOverlay时遇到了MKMapView的MapKit问题。测试和调试正在使用Xcode 9.1(9B55)的设备(iPhone7iOS 11.1.1)上进行。正在为贴图视图中的所有分幅重复刷新覆盖渲染器(每秒调用2500次drawMapRect:)。对渲染器的调用将忽略setNeedsDisplayInMapRect:中更改的矩形,并且不是由setNeedsDisplayInMapRect启动的。即使在Xcode报告应用程序使用超过160%的CPU完成所有地图更新后,此刷新仍将持续

MKMapView代码基于苹果公司提供的示例代码“面包屑”。此代码没有重大的结构更改。
有没有其他人经历过这种情况,或者对从哪里开始寻找解决方案有什么建议?

运行Apple面包屑样本并没有出现同样的问题。在将其放回我的项目中并添加项目中的更改后,我终于能够将问题隔离为已将“self.alpha=0.5”插入drawMapRect:。无论alpha属性设置为1.0还是其他值,问题仍然会发生

- (void)drawMapRect:(MKMapRect)mapRect
          zoomScale:(MKZoomScale)zoomScale
          inContext:(CGContextRef)context;
{
    CrumbPath *crumbs = (CrumbPath *)(self.overlay);
    self.alpha = 0.5;     //   <-------- THE PROBLEM
-(void)drawMapRect:(MKMapRect)mapRect
zoomScale:(MKZoomScale)zoomScale
inContext:(CGContextRef)上下文;
{
CrumbPath*crumps=(CrumbPath*)(self.overlay);

self.alpha=0.5;//感谢分享您的发现!请将问题变成一个问题,并将下面的解决方案作为答案发布。它是,但您需要遵循格式。这确实救了我的命!!!!谢谢!!!我只是将alpha放在init中,这就解决了它!!!