我的应用程序逻辑是这样的:VCA => VCB,VCB中有一个滚动视图,左右滑动功能。有些代码有助于理解VCB中的结构:
self.scrollView.pagingEnabled = YES;
self.scrollView.directionalLockEnabled = YES;
self.scrollView.contentSize =CGSizeMake(CGRectGetWidth(self.scrollView.frame) * numberPages, CGRectGetHeight(self.scrollView.frame));
所以我想要的是水平列出一些页面并向左和向右滑动以进行导航。每个页面都有自己的视图控制器(VCB的子视图控制器),我就像这样添加它们:
if (controller.view.superview == nil)
{
[self addChildViewController:controller];
[self.scrollView addSubview:controller.view];
[controller didMoveToParentViewController:self];
}
到目前为止,它适用于iOS 6.我可以滑动以更改页面。每个页面内的所有功能也可以正常工作。
然后问题出现在iOS 7的新功能上,向右滑动即可自动调用popViewControllerAnimated:
,效果就像点击返回按钮一样。要解决冲突,请禁用interactivePopGestureRecognizer:self.navigationController.interactivePopGestureRecognizer.enabled = NO;
它工作正常,当我只想滑动更改页面时没有力回弹。
现在真正的问题。我在导航栏上设置了一个后退按钮(backBarButtonItem)。每次我使用该按钮从VCB弹回到VCA并且当前页面不是第一页(这意味着左侧至少有一个页面),弹出动画就像第一个更改页面到左侧一个,然后立即显示VCA,没有任何动画。
那么任何解决方案?请帮我。
答案 0 :(得分:1)
首先,如果没有任何代码,很难确定问题。
其次,你为什么不自己创建按钮,并为其添加一个目标,这个函数会解除/弹出视图控制器?