小编use*_*323的帖子

MKMapView - 未调用rendererForOverlay

我最近开始学习objectiveC并开始在iOS6中开发应用程序.

现在,我正在尝试将其转换为iOS7并面临MKMap的问题.

在iOS6中,我使用的是viewForOverlay.

在iOS7中,我将其更改为renderForOverlay.但是,我的应用程序不是调用mapView:rendererForOverlay.以下是我的代码.感谢您的帮助.

- (void) drawPolyline:(NSArray *)locations
{
    [mapView setDelegate:self];
    ...
    ...

    self.polyline = [MKPolyline polylineWithCoordinates:locationCoordinate2DArray count:numberOfLocations];
    free(locationCoordinate2DArray);
    [mapView addOverlay:self.polyline];
    [mapView setNeedsDisplay];
}

- (MKOverlayRenderer*)mapView:(MKMapView*)mapView rendererForOverlay:(id <MKOverlay>)overlay
{
    MKPolylineRenderer* lineView = [[MKPolylineRenderer alloc] initWithPolyline:self.polyline];
    lineView.strokeColor = [UIColor blueColor];
    lineView.lineWidth = 7;
    return lineView;
}
Run Code Online (Sandbox Code Playgroud)

mkmapview ios mkpolyline

14
推荐指数
1
解决办法
1万
查看次数

如何减缓MKMapCamera运动?

我在iOS编码.

我有一个NSArray,其中包含一些MKMapCameras.我想一个接一个地从数组中显示MKMapCameras.

我放了一个while循环并使用了 [self.mapView setCamera:nextCamera animated:YES];

但是,这只显示了第一个和最后一个视图.介于两者之间的一切都太快了.

我想减慢每个相机的运动速度.有没有办法使用CATransaction或使用任何其他动画技巧来实现它.如果是这样,你能告诉我一个示例代码吗?

想要提供更新...我试过下面的代码.但它不起作用......正如我前面提到的,相机移动速度很快.

[CATransaction begin];
[CATransaction setAnimationDuration:5.5];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[CATransaction setCompletionBlock:^{
    [self.mapView setCamera:nextCamera animated:YES];
}];
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)

objective-c mkmapview ios catransaction

0
推荐指数
1
解决办法
2497
查看次数

标签 统计

ios ×2

mkmapview ×2

catransaction ×1

mkpolyline ×1

objective-c ×1