Моя самая частая ошибка: "Не удалось определить направление навигации для прокрутки" по какой-либо причине, любое представление о том, как я могу ее решить?
Вот последняя обратная трассировка исключения:
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)
ОБНОВЛЕНИЕ: Наконец, мне удалось воспроизвести ошибку на симуляторе, когда я касаюсь представления, и в то же время анимация прокрутки UIPageViewController запускается программно. В принципе, если программно настроить setViewsControllers с анимацией, установленной в yes и прокруткой анимации. Если вы касаетесь какой-либо части экрана до начала анимации прокрутки, произойдет следующий сбой *** Ошибка утверждения в - [_ UIQueuingScrollView_didScrollWithAnimation: force:],/SourceCache/UIKit/UIKit-2372/_UIQueuingScrollView.m:778 как описано здесь.
Я также загрузил пример приложения Apple PhotoScroller и отредактировал его с программным изменением страницы, и у них такая же ошибка.
Мое решение состояло не в том, чтобы вызвать изменение страницы, если пользователь в данный момент касается экрана, вы также можете изменить анимацию для завивки или удаления анимации.