更改地图中的罗盘位置

Change compass-position in Map

我想像下面这样更改指南针的位置:

到目前为止,这是我尝试过的方法,但它似乎不是正确的方法 - 是的,它不起作用。

if let compassView = self.view.subviews.filter({ ([=10=].subviews.first?.isKind(of: NSClassFromString("MKCompassView")!))!}).first {
    // set compassView position
}

您可以尝试包含 IOS < 11

if let compassBtn = (mapView.subviews.filter { String(describing:[=10=]).contains("MKCompassView") }.first) {
  print(compassBtn)
 }

此外,如果您的部署目标 >= IOS 11,您可以使用 MKCompassButton

 let compassBtn = MKCompassButton(mapView:mapView)
 compassBtn.frame.origin = CGPoint(x: 25, y: 25)
 compassBtn.compassVisibility = .visible
 view.addSubview(compassBtn)

编辑:

if let compassView = (mapView.subviews.filter({ [=12=] is NSClassFromString("MKCompassView")! }).first) {  }