如何重新定位MKMapView的指南针?
我想移动MKMapView指南针。 我希望通过以下方式获得它的参考:
let compassView = mapView.subviews.filter {$0 is NSClassFromString("MKCompassView")}
然而,编译器抱怨“使用未声明的类型’NSClassFromString’”。 我该如何修复此代码?
iOS 11
你应该使用MKCompassButton
,doc解释新的东西: WWDC 2017新的MapKit演示文稿 。
let compassButton = MKCompassButton(mapView:mapView) compassButton.frame.origin = CGPoint(x: 20, y: 20) compassButton.compassVisibility = .visible view.addSubview(compassButton)
iOS <11
你可能会尝试使用String(describing:)
,例如:
if let compassButton = (mapView.subviews.filter { String(describing:$0).contains("MKCompassView") }.first) { print(compassButton) }
对于iOS 11及更高版本,请使用MKCompassButton
。
let compass = MKCompassButton(mapView: mapView)
- 如何从默认的蓝色为MFMailComposeViewController的UIBarButtonItems的颜色?
- 将NSArray与NSDate对象按月分类到NSDictionary中
- 使用Firebase实施推送通知的最佳方法
- 当广告载入失败时,在Swift中隐藏iAd ADBannerView – 没有委托或委托没有实现didFailToReceiveAdWithError
- 使用CGContextDrawImage旋转图像
- 如何在UIBarbutton项目上添加徽章?
- 我怎样才能以编程方式在UISearchBar中强制search?
- 在字符串插值中使用选项时,内存泄漏
- 让用户在IOS 6中select谷歌地图和苹果地图?