被 CLSqliteDatabaseManager 覆盖的 MKMapView userTrackingMode

Posted

技术标签:

【中文标题】被 CLSqliteDatabaseManager 覆盖的 MKMapView userTrackingMode【英文标题】:MKMapView userTrackingMode overridden by CLSqliteDatabaseManager 【发布时间】:2011-11-24 16:03:53 【问题描述】:

我在 UIViewController 的 viewLoaded 方法中设置 MKMapView 实例的 userTrackingMode。第一次加载视图时,我成功地将其设置为 MKUserTrackingModeFollowWithHeading。然而,每次视图加载时,虽然我再次将其值设置为 MKUserTrackingModeFollowWithHeading,但这几乎立即被 MKUserTrackingModeNone 覆盖。我继承了 MKMapView 并重写了 setUserTrackingMode,插入了一个断点,这样我就可以看到它是从哪里调用的。同样的事情发生在模拟器和设备上:

在模拟器上,当值设置为 MKUserTrackingModeNone 时,我从堆栈中得到以下信息:

在我的设备 (iPhone 4s) 上,我得到以下信息:

在我的应用程序中几乎没有其他事情发生,当然也没有任何事情直接触发要设置的属性。什么是 CLSqliteDatabaseManager?谷歌没有返回一个结果。在设备上究竟如何涉及 MKMapRectContainsRect?我使用的是 ios 5.0。

【问题讨论】:

【参考方案1】:

现在回答似乎为时已晚。但对于正在寻找答案的人来说,它可能仍然会有所帮助。

我遇到了完全相同的问题。我突然明白了为什么。请加载您的 iOS 内置地图应用程序,然后单击左下角的小箭头按钮开始跟踪您的位置。只要你拖动地图。跟踪停止。同样的原因,如果您在代码中移动地图,MKMapView 属性 userTrackingMode 将自动重置为 MKUserTrackingModeNone

在我的例子中,我在- (void)viewWillAppear:(BOOL)animated 中将userTrackingMode 设置为MKUserTrackingModeFollow 后调用了setCenterCoordinate。将代码mapView.userTrackingMode = MKUserTrackingModeFollow; 移动到最后,它运行良好。

【讨论】:

以上是关于被 CLSqliteDatabaseManager 覆盖的 MKMapView userTrackingMode的主要内容,如果未能解决你的问题,请参考以下文章

怎么知道网站是否被黑 服务器是否被***呢

怎么防止网站被***和防止服务器被黑

构造器能否被重写能否被重载能否被继承

网站被黑 搜索快照被劫持跳转到另一网站

网站域名被微信/QQ红了(被封锁被屏蔽被和谐)后最好的解决方法

如何防止网站被*** 防止网站数据被***篡改