我的UIViewController
s结构比较复杂,所以interactivePopGesturerecognizer
表现得很奇怪。
首先,我的VC层次结构如下:我UINavigationController
AppDelegate
VC中有一个rootViewController
。然后我推动一个VC服务器作为5个VC在同一级别上的占位符,即那些VC是兄弟姐妹,我在无限水平滚动系统中用作VC。我将他们的view
添加到VC中。现在,这5个VC中的每一个都有UITableView
,在按下行之后,这些表会在堆栈上推送VC的详细信息。详细信息VC被推送到堆栈时正好被动画了。即使我在详细信息VC上按下按钮,我也会在后台看到父UITableView
动画。当我尝试刷细节VC以将其弹出堆栈时出现问题。然后我明白了,背景中没有UITableView
动画。
到目前为止,我已经做到了这一点:
- 在我的AppDelegate.m
我启用了互动式弹出式手势navigation.interactivePopGestureRecognizer.enabled = YES;
self.navigationController.interactivePopGestureRecognizer.delegate = self;
当动画结束时,即细节VC从屏幕上移开时,我的父VC与桌子神奇地显示出来。如果按下按钮,则不会发生这种情况,在这种情况下,UITableView
从左侧动画并保持原位。
我认为,因为我在滚动到另一个UINavigationController
之后遇到水平滚动UITableView
的情况会失去它的位置,所以父表就在其他地方。但是当我按下后退按钮时,我可以看到左边的动画表?
我还尝试通过推送将显示在屏幕上的当前VC的UITableView
显式添加到导航堆栈,但问题出现在我尝试弹出堆栈并再次显示它时,它仍然不可见。< / p>
我不想拥有多个UINavigationController
因为当我在UIScrollView
内滑动它们时,我希望我的条形图能够固定到位。
所以,主要的问题是:如何使用interactivePopGestureRecoginzer
获得相同的视觉行为,因为我得到了免费的后退按钮(动画的父UITableView
),考虑到我有5个兄弟VC的事实不是导航堆栈的一部分,而只是将它们的视图添加到导航堆栈上的父VC?
谢谢!