【发布时间】:2016-04-12 17:58:05
【问题描述】:
所以在我的应用程序上,我有一个屏幕,我想在其中显示地图。这里要注意的是地图需要随着用户旋转屏幕而自动旋转。类似于在任何地图上按下指南针按钮。
我已经编写了创建地图并显示它并使用指南针旋转的第一部分。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingHeading()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func locationManager(manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
let rotation: Double = newHeading.magneticHeading * 3.14159 / 180
//let point: CGPoint = CGPointMake(0, -23)
print(rotation)
mapView.transform = CGAffineTransformMakeRotation(-CGFloat(rotation))
}
这里有 4 个屏幕截图,展示了我在 4 个不同角度旋转时屏幕的外观。
问题是它的显示方式。
问题 1: 当我旋转时,会有白色的空白区域,那是因为我的地图无法缩放。到屏幕尺寸。我该如何解决这个问题?
问题 2: 旋转非常胡思乱想。有没有办法让它更流畅?
【问题讨论】:
标签: ios swift rotation mkmapview