12
A
回答
7
我正在研究一些代碼有相同的問題,結果問題是UIGestureRecognizer
子視圖已被添加爲MKMapView
子視圖,有時,他們會導致一些委託方法不會觸發。
因此,請確保您沒有在MKMapView
中添加子視圖或任何內容。
希望這會有所幫助。
3
我正在朝着代碼的地圖,然後它似乎我需要調用
[mapView setNeedsDisplay];
後!
+0
其實還沒有發生! – 2010-11-17 09:22:02
1
我覺得這個問題可能與多線程有關。
今天早上我有同樣的問題。我使用手勢識別器來捕獲長按事件,然後將一個pin添加到mapview。如果運行良好,但幾輪後,該地區確實改變方法停止被稱爲。
我在這裏嘗試了一些解決方案,但都沒有成功。然後,我回憶起我之前遇到的有關多線程本質行爲的其他問題。所以我嘗試將長按操作中控制mapview的代碼移動到在主線程中運行的塊。問題就解決了。
0
我管理由touchesBeganCallback
self.tapInterceptor.touchesBeganCallback = ^(NSSet *touches, UIEvent *event) {
self.tapInterceptor.enabled = NO;
// do something
};
內禁用手勢識別,並在regionDidChangeAnimated委託方法
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
self.tapInterceptor.enabled = YES;
// do something
}
0
每當一個敲擊手勢識別器加入到的MapView重新啓用它來解決這個問題,設置
recognizer.cancelsTouchesInView = NO;
需要注意o如果你的業務邏輯允許雙重處理,如果觸及mapview(通過MKMapView和手勢識別器 ,這是最近干擾該地區[Will,Did] ChangeAnimated :)
相關問題
- 1. MKMapView沒有在Pan上調用regionDidChangeAnimated
- 2. 的MKMapView委託:regionDidChangeAnimated和mapViewDidFinishLoadingMap
- 3. MKMapView regionDidChangeAnimated由用戶操作或程序調用
- 4. activity.on不總是被調用
- 5. multiple regionDidChangeAnimated調用 - 什麼給?
- 6. 的iOS的MKMapView regionDidChangeAnimated visibleMapRect問題
- 7. regionDidChangeAnimated不工作
- 8. 的MKMapView didUpdateUserLocation不會被調用
- 9. 在MKMapview中使用NSAutoreleasepool時應用程序崩潰regionDidChangeAnimated方法
- 10. didAddAnnotationViews沒有總是被調用
- 11. SyncAdapter onPerformSync並不總是被調用
- 12. FinderSync:beginObservingDirectoryAtURL並不總是被調用
- 13. captureStillImageAsynchronouslyFromConnection:stillImageConnection completionHandler並不總是被調用
- 14. Rest API並不總是被調用
- 15. didRegisterForRemoteNotificationsWithDeviceToken總是被調用嗎?
- 16. 收益總是被調用
- 17. ,onStopJob總是被調用?
- 18. catch總是被調用
- 19. mkMapView的regionDidChangeAnimated委託觸發了兩次標籤加載
- 20. Objective-C for Dummies:如何在不調用mapView的情況下更改區域:regionDidChangeAnimated?
- 21. 方法onActivityResult不會被調用,當被調用的resultCode總是爲零
- 22. JSF方法總是被調用兩次
- 23. 爲什麼the_post_thumbnail總是被調用?
- 24. onListItemClick沒有(總是)被ListActivity調用
- 25. 爲什麼`static_assert`總是被調用?
- 26. locationManager:didUpdateLocations:總是被多次調用
- 27. 的MKMapView委託方法不會被調用-calloutaccessorycontroltapped
- 28. Skype4Py:messageStatusChanged不總是調用
- 29. `RunWorkerCompleted`不總是被解僱
- 30. Android多點觸控:ACTION_UP並不總是被調用?
10你有沒有得到過這個解決方案? – thekevinscott 2011-06-27 20:01:24
在Apple的論壇中對此進行了一些討論:https://devforums.apple.com/message/525411 – 2011-08-30 19:31:46
如果您使用自己的觸摸處理的自定義註釋視圖,請查看此討論:http:// www.iphonedevsdk.com/forum/iphone-sdk-development/79199-regiondidchangeanimated-not-always-firing.html – 2011-08-30 19:47:15