目前,指南针仅在以下情况下才会显示用户应用旋转手势。否则指南针将被隐藏。
不过如果能实现我下面的两个愿望就好了!
- 是否可以一直显示指南针?
- 如何使用 Swift 显示/隐藏指南针视图?
您可以在 iOS 11 中使用新功能轻松完成此操作MKCompassButton https://developer.apple.com/documentation/mapkit/mkcompassbutton class.
您需要创建一个实例MKCompassButton
并将其添加到您的地图视图中。然后你可以设置它的compassVisibility
属性为以下之一:
-
.visible
- 始终可见
-
.never
- 永远不可见
-
.adaptive
- 仅当地图旋转远离北/向上方向时,指南针才可见。
如果您在属性中保留对罗盘的引用,您可以根据需要更改其可见性:
mapview.showsCompass = false // Hide built-in compass
compassButton = MKCompassButton(mapView: mapview) // Make a new compass
compassButton.compassVisibility = .visible // Make it visible
mapview.addSubview(compassButton) // Add it to the view
// Position it as required
compassButton.translatesAutoresizingMaskIntoConstraints = false
compassButton.trailingAnchor.constraint(equalTo: mapview.trailingAnchor, constant: -12).isActive = true
compassButton.topAnchor.constraint(equalTo: mapview.topAnchor, constant: 12).isActive = true
不幸的是,对于以前版本的 iOS,没有简单的解决方案。我看到的建议涉及查看地图视图的子视图 https://stackoverflow.com/questions/48343381/how-to-reposition-compass-of-mkmapview/48350333尝试找到指南针视图,但结果似乎好坏参半。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)