我尝试在viewDidLoad方法(以及viewWillAppear)中设置用户跟踪模式.如果我将其设置为MKUserTrackingModeFollowWithHeading(值为2),则它不会生效.实际上,在将其值设置为2之后,如果我将其打印为值,则为1,为什么?在任何编程经历中我都没见过这样的东西!
我是这样设置的:
[self.mapView setUserTrackingMode: MKUserTrackingModeFollowWithHeading
animated: YES];
Run Code Online (Sandbox Code Playgroud)
如果我在viewWillAppear方法中执行相同操作,效果是相同的.但是,第二次显示此视图时,该设置将生效.(我有一个tab viewcontroller,我将视图切换到另一个然后切换回来).
我看它不生效的方式是两项措施:(1)设置它(2)在地图视图中,不显示标题后立即打印出它的价值.
发生了什么事?
Dan*_*iel 15
我知道这是一个非常古老的帖子,但是为了防止其他人在那里寻找解决方案,原因是因为你需要在地图加载后设置userTrackingMode.因此,将您的类设置为委托,然后添加此委托方法:
- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView {
mapView.userTrackingMode = MKUserTrackingModeFollowWithHeading;
}
Run Code Online (Sandbox Code Playgroud)
我也有同样的问题。在地图标题中找不到有关它不起作用或起作用的任何信息。
我实现的解决方案是使用自定义 CLLocationManager 检索标题,然后适当旋转地图。请参阅此答案以获取使用此方法的一些帮助:使用指南针方向旋转 MapView
另请注意,iOS 模拟器当前不允许进行航向模拟。
| 归档时间: |
|
| 查看次数: |
4644 次 |
| 最近记录: |