Ios MKMapView未保持旋转

Ios MKMapView未保持旋转,ios,iphone,swift,mkmapview,Ios,Iphone,Swift,Mkmapview,易于复制: -创建新项目 -在屏幕上显示一个MKMapView -试着用两个手指旋转它 它会稍微旋转并停止,当你松开手指时,它会回到原来的位置 如何使其保持旋转? 我想旋转多少就旋转多少 我正在使用最新的iOS(8.0左右)、iPhone 6模拟器和Swift。请试试这个 全球宣布: let regionRadius: CLLocationDistance = 1000 在viewdidload中: let initialLocation = CLLocation(latitude: 21.2

易于复制: -创建新项目 -在屏幕上显示一个MKMapView -试着用两个手指旋转它

它会稍微旋转并停止,当你松开手指时,它会回到原来的位置

如何使其保持旋转? 我想旋转多少就旋转多少

我正在使用最新的iOS(8.0左右)、iPhone 6模拟器和Swift。

请试试这个 全球宣布:

let regionRadius: CLLocationDistance = 1000
在viewdidload中:

let initialLocation = CLLocation(latitude: 21.282778, longitude: -157.829444)
    centerMapOnLocation(initialLocation)
然后创建一个助手类:

func centerMapOnLocation(location: CLLocation) {
        let coordinateRegion = MKCoordinateRegionMakeWithDistance(location.coordinate,
            regionRadius * 2.0, regionRadius * 2.0)
        mapview.setRegion(coordinateRegion, animated: true)
    }
请试试这个 全球宣布:

let regionRadius: CLLocationDistance = 1000
在viewdidload中:

let initialLocation = CLLocation(latitude: 21.282778, longitude: -157.829444)
    centerMapOnLocation(initialLocation)
然后创建一个助手类:

func centerMapOnLocation(location: CLLocation) {
        let coordinateRegion = MKCoordinateRegionMakeWithDistance(location.coordinate,
            regionRadius * 2.0, regionRadius * 2.0)
        mapview.setRegion(coordinateRegion, animated: true)
    }

尝试使用MKMapView的rotateEnabled属性:

旋转的- 一个布尔值,指示是否使用地图摄影机的标题信息

声明

迅捷的 可旋转变量:布尔


当此属性设置为“是”且有效摄影机与地图关联时,将使用摄影机的航向角度围绕地图的中心点旋转地图平面。当此属性设置为“否”时,相机的航向角将被忽略,并且地图将始终定向,以便正北位于地图视图的顶部。

尝试使用MKMapView的rotateEnabled属性:

旋转的- 一个布尔值,指示是否使用地图摄影机的标题信息

声明

迅捷的 可旋转变量:布尔


当此属性设置为“是”且有效摄影机与地图关联时,将使用摄影机的航向角度围绕地图的中心点旋转地图平面。当此属性设置为“否”时,将忽略相机的航向角度,并且地图始终定向为使正北位于地图视图的顶部。

您必须覆盖
CLLocationManager.didUpdateLocations
(CLLocationManagerDelegate的一部分)要在位置管理器检索当前位置且不在该位置执行任何操作时获得通知,请执行以下操作:

func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
    // Don't do update the map to the new location
}

您必须重写
CLLocationManager.didUpdateLocations
(CLLocationManagerDelegate的一部分),以便在位置管理器检索当前位置且不在该位置执行任何操作时收到通知:

func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
    // Don't do update the map to the new location
}
我解决了这个问题。 实际上没有解决方案,发生的情况是,如果贴图区域太大,MKMapView不允许您保持旋转。 如果你放大,你可以正常旋转。

我解决了这个问题。 实际上没有解决方案,发生的情况是,如果贴图区域太大,MKMapView不允许您保持旋转。
如果放大,可以正常旋转。

不,不会改变任何东西。@RodrigoRuiz我已经编辑了我的答案。请检查它是否有效。。。但是我不知道为什么,我不想改变地图区域。这不是一个解决方案,我不想改变地图区域。还有,你看到我的答案了吗?没有,没有任何改变。@RodrigoRuiz我已经编辑了我的答案。请检查它是否有效。。。但是我不知道为什么,我不想改变地图区域。这不是一个解决方案,我不想改变地图区域。另外,您看到我的答案了吗?默认情况下,此属性已设置为true(或Objective-C中的YES)。默认情况下,此属性已设置为true(或Objective-C中的YES)