iOS - UIPageViewController '无法确定导航方向' [英] iOS - UIPageViewController 'Failed to determine navigation direction'

查看:65
本文介绍了iOS - UIPageViewController '无法确定导航方向'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 UIPageViewController,其中一个视图控制器是 UITableViewController.每个 UITableViewCell 都可以折叠/展开以隐藏/显示嵌套的表格视图.无论是否展开任何单元格,当我在 UITableView 中上下滚动时,有时会出现此错误:

I have UIPageViewController with one of its view controllers being a UITableViewController. Each UITableViewCell can collapse/expand to hide/show a nested table view. Whether or not any cells are expanded, I get this error sometimes when I scroll up and down in the UITableView:

2015-08-12 20:11:15.184 MyApp[4506:172368] *** Assertion failure in -[_UIQueuingScrollView _didEndDraggingManualScroll], /SourceCache/UIKit_Sim/UIKit-3347.44.2/_UIQueuingScrollView.m:861
2015-08-12 20:11:15.261 MyApp[4506:172368] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Failed to determine navigation direction'
*** First throw call stack:
(
    0   CoreFoundation                      0x000000010d52bc65 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x000000010c94cbb7 objc_exception_throw + 45
    2   CoreFoundation                      0x000000010d52baca +[NSException raise:format:arguments:] + 106
    3   Foundation                          0x000000010b00b98f -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
    4   UIKit                               0x000000010ba257a2 -[_UIQueuingScrollView _didEndDraggingManualScroll] + 151
    5   UIKit                               0x000000010ba2147d -[_UIQueuingScrollView _scrollViewDidEndDraggingWithDeceleration:] + 40
    6   UIKit                               0x000000010b49f8d0 -[UIScrollView _endPanNormal:] + 1415
    7   UIKit                               0x000000010b4a0ddc -[UIScrollView handlePan:] + 98
    8   UIKit                               0x000000010b7be656 _UIGestureRecognizerSendActions + 262
    9   UIKit                               0x000000010b7bd2f9 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 532
    10  UIKit                               0x000000010b7c1f16 ___UIGestureRecognizerUpdate_block_invoke662 + 51
    11  UIKit                               0x000000010b7c1e12 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 254
    12  UIKit                               0x000000010b7b7e8d _UIGestureRecognizerUpdate + 2796
    13  UIKit                               0x000000010b45b646 -[UIWindow _sendGesturesForEvent:] + 1041
    14  UIKit                               0x000000010b45c272 -[UIWindow sendEvent:] + 666
    15  UIKit                               0x000000010b422541 -[UIApplication sendEvent:] + 246
    16  UIKit                               0x000000010b42fcdc _UIApplicationHandleEventFromQueueEvent + 18265
    17  UIKit                               0x000000010b40a59c _UIApplicationHandleEventQueue + 2066
    18  CoreFoundation                      0x000000010d45f431 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    19  CoreFoundation                      0x000000010d4552fd __CFRunLoopDoSources0 + 269
    20  CoreFoundation                      0x000000010d454934 __CFRunLoopRun + 868
    21  CoreFoundation                      0x000000010d454366 CFRunLoopRunSpecific + 470
    22  GraphicsServices                    0x0000000110821a3e GSEventRunModal + 161
    23  UIKit                               0x000000010b40d8c0 UIApplicationMain + 1282
    24  MyApp                               0x000000010aad6eef main + 111
    25  libdyld.dylib                       0x000000010e2bc145 start + 1
    26  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

我很困惑为什么我会收到这个错误.我想知道我的外部 UITableViewUIScrollView 是否与我的 UIPageViewControllerUIScrollView 冲突,尽管我只是有时会收到此错误.

I am very baffled as to why I'm getting this error. I'm wondering if the the UIScrollView of my outer UITableView is conflicting with the UIScrollView of my UIPageViewController, although I only get this error sometimes.

我在 Internet 上查找了此错误,但只找到了几次提及,因此将不胜感激任何帮助或建议.谢谢.

I looked up this error on the Internet and I have only found a few mentions of it, so any help or advice would be greatly appreciated. Thanks.

很抱歉之前没有包含此内容,但是 UIPageViewController 具有水平导航.

Sorry for not including this earlier, but the UIPageViewController has horizontal navigation.

推荐答案

幸运的是,我最终以自己的方式解决了错误.显然,Apple 告诉我 UIPageViewController 中的 UIScrollViewUITableViewController 中的一个冲突,导致了这个错误.

I ended up solving the bug my own way, luckily. Apparently, Apple told me that the UIScrollView in the UIPageViewController and the one in the UITableViewController were conflicting, causing this bug.

我所做的只是在整个视图上放置一个 UIPanGestureRecognizer,每当用户向上或向下滚动时,UIPageViewController 中的 UIScrollView被禁用,允许用户在 UITableView 中滚动而不会发生冲突或崩溃.当用户停止向上或向下滚动时,会重新启用 UIPageViewControllerUIScrollView.

All I did was put a UIPanGestureRecognizer on the whole view, and whenever the user scrolls up or down, the UIScrollView in the UIPageViewController is disabled, allowing the user to scroll through the UITableView without conflicts or crashing. When the user stop scrolling up or down, the UIScrollView of the UIPageViewController is re-enabled.

很沮丧我没有早点想出这个解决方案,但哦,好吧!

Frustrated that I didn't come up with this solution earlier, but oh well!

无论谁遇到了同样的问题并且仍然对我的解决方案感到困惑,请在下面发表评论,我会发布我的代码修复.

Whoever runs into the same problem and his still confused as the how I did my solution, please comment below and I will post my code fix.

这篇关于iOS - UIPageViewController '无法确定导航方向'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆