Objective c 如何从局部卷曲中更改mapView mapType?
我正在尝试重新创建谷歌地图的功能,将地图类型更改为混合、卫星或标准。我已经设置了一个视图,它以部分卷曲过渡显示。在此视图中,是一个UISegmentedControl。当其值更改时,将执行以下代码:Objective c 如何从局部卷曲中更改mapView mapType?,objective-c,xcode,android-mapview,uisegmentedcontrol,page-curl,Objective C,Xcode,Android Mapview,Uisegmentedcontrol,Page Curl,我正在尝试重新创建谷歌地图的功能,将地图类型更改为混合、卫星或标准。我已经设置了一个视图,它以部分卷曲过渡显示。在此视图中,是一个UISegmentedControl。当其值更改时,将执行以下代码: - (IBAction)setMap:(id)sender { switch (((UISegmentedControl *) sender).selectedSegmentIndex) { case 0: [self curlViewControllerDidFinish:
- (IBAction)setMap:(id)sender {
switch (((UISegmentedControl *) sender).selectedSegmentIndex) {
case 0:
[self curlViewControllerDidFinish:nil];
[mapview setMapType:MKMapTypeStandard];
break;
case 1:
[self curlViewControllerDidFinish:nil];
[mapview setMapType:MKMapTypeSatellite];
break;
case 2:
[self curlViewControllerDidFinish:nil];
[mapview setMapType:MKMapTypeHybrid];
break;
}
}
卷曲过渡确实完成,但贴图类型不变。我已尝试将[mapview setmapType…
放在[self-CurlViewControllerdFinish…
上方
注意:[mapview setMapType:MKMapTypeHybrid];
如果在curl转换之外执行,则会使用一行代码更改mapType
有关如何修复此问题的任何想法?iOS Maps.app很可能使用代理通知地图视图模式视图已选择新选项。类似于以下内容:
- (IBAction)setMap:(id)sender {
switch (((UISegmentedControl *) sender).selectedSegmentIndex) {
case 0:
[self curlViewControllerDidFinish:nil];
[self.delegate setMapType:MKMapTypeStandard];
[self dismissModalViewControllerAnimated:YES];
break;
case 1:
[self curlViewControllerDidFinish:nil];
[self.delegate setMapType:MKMapTypeSatellite];
[self dismissModalViewControllerAnimated:YES];
break;
case 2:
[self curlViewControllerDidFinish:nil];
[self.delegate setMapType:MKMapTypeHybrid];
[self dismissModalViewControllerAnimated:YES];
break;
}
}
它仍然有问题,我会让你知道我是如何做的,一旦我得到它的工作。