Jak rozwiązać błąd „Nie można określić kierunku nawigacji dla przewijania”
Mój najczęstszy błąd to „Nie udało się ustalić kierunku nawigacji dla przewijania” ze względu na powód, jakikolwiek pomysł na to, jak mogę go rozwiązać?
Oto ostatni wyjątek:
1. CoreFoundation __exceptionPreprocess + 131
2. libobjc.A.dylib _objc_exception_throw + 39
3. CoreFoundation +[NSException raise:format:] + 1
4. Foundation -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 91
5. UIKit __54-[_UIQueuingScrollView _didScrollWithAnimation:force:]_block_invoke + 221
6. UIKit -[_UIQueuingScrollView _didScrollWithAnimation:force:] + 567
7. UIKit -[_UIQueuingScrollView _scrollViewAnimationEnded:finished:] + 73
8. UIKit -[UIAnimator stopAnimation:] + 471
9. UIKit -[UIAnimator(Static) _advanceAnimationsOfType:withTimestamp:] + 285
10. UIKit -[UIAnimator(Static) _LCDHeartbeatCallback:] + 53
11. QuartzCore CA::Display::DisplayLinkItem::dispatch() + 99
12. QuartzCore CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 345
13. IOMobileFramebuffer IOMobileFramebufferVsyncNotifyFunc + 105
14. IOKit _IODispatchCalloutFromCFMessage + 249
15. CoreFoundation __CFMachPortPerform + 137
16. CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 35
17. CoreFoundation __CFRunLoopDoSource1 + 347
18. CoreFoundation __CFRunLoopRun + 1399
19. CoreFoundation _CFRunLoopRunSpecific + 523
20. CoreFoundation _CFRunLoopRunInMode + 107
21. GraphicsServices _GSEventRunModal + 139
22. UIKit _UIApplicationMain + 1137
23. MyApp main (main.m:13)
AKTUALIZACJA : W końcu udało mi się odtworzyć błąd w symulatorze, to właśnie kiedy dotykam widoku i jednocześnie animacja UIPageViewController zaczyna się programowo. Zasadniczo, jeśli ustawiszViewsControllers programowo z animacją ustawioną na yes i przewijaniem animacji. Jeśli dotkniesz jakiejkolwiek części ekranu przed rozpoczęciem animacji przewijania, nastąpi następujący wypadek: *** Błąd potwierdzenia w - [_ UIQueuingScrollView _didScrollWithAnimation: force:], /SourceCache/UIKit/UIKit-2372/_UIQueuingScrollView.m:778 jak w opisietutaj .
Pobrałem też przykładową aplikację Apple PhotoScroller i edytowałem ją za pomocą programowej zmiany strony i mają ten sam błąd.
Moje rozwiązanie polegało na tym, aby nie uruchamiać zmiany strony, jeśli użytkownik dotyka ekranu, możesz także zmienić animację, aby zwijać lub usuwać animację.