我正在使用一个MKUserTrackingBarButtonItem按钮,允许用户自动跟踪他们在地图上的位置.问题是,当他们点击此按钮时,它会被缩放得太远.我希望它以指定的缩放级别(即跨度)开始.我怎样才能做到这一点?
当用户点击按钮进行更改时MKUserTrackingModeFollow,它似乎使用用户上次手动更改的相同缩放级别(即在地图上使用手势).尝试通过setRegion或setVisibleMapRect不影响更改模式时将使用的缩放级别来指定不同的缩放级别MKUserTrackingModeFollow.
尝试override mapView:didChangeUserTrackingMode:设置区域会导致模式更改回MKUserTrackingModeNone.例:
- (void)mapView:(MKMapView *)mapView didChangeUserTrackingMode:(MKUserTrackingMode)mode animated:(BOOL)animated {
if (mode == MKUserTrackingModeFollow) {
CLLocationCoordinate2D center = mapView.userLocation.location.coordinate;
MKCoordinateSpan span = MKCoordinateSpanMake(0.002306, 0.001717);
[mapView setRegion:MKCoordinateRegionMake(center, span) animated:YES];
// [mapView setUserTrackingMode:MKUserTrackingModeFollow animated:NO];
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在设置区域后立即尝试重置模式,则在用户静止时可以正常工作,但如果用户正在移动则缩小.
最简单的解决方案是,如果有一种方法可以通过发送我的跨度值来简单地为MKUserTraking指定类似缩放级别的内容.但是,由于这似乎不存在,我还能做什么?
我今天升级了Firebase,现在我遇到了一个非常不寻常的问题
使用未解析的标识符FirebaseApp.
我所做的一切都是按照由火力点提供的文档在这里.我已插入GoogleService-Info.plist我的项目和pod我安装如下:
pod 'Firebase/Core
pod 'Firebase/Database
pod 'Firebase/Messaging
Run Code Online (Sandbox Code Playgroud)
我使用的是XCode 7.3.1,我的部署目标是9.0
非常感谢您给予的任何见解!谢谢!
firebase swift firebase-realtime-database xcode7.3 firebase-cloud-messaging
我写了一个自定义按钮,它基本上是一个NSView子类.按钮响应mouseDown()并应该运行选择器/动作.
我不知道如何将子目标和动作变量添加到子类(类似于用户界面元素NSButton).我试过了
var target : AnyObject?
var action: Selector?
Run Code Online (Sandbox Code Playgroud)
另外如何在子类中运行目标选择器?