我的应用程序逻辑是这样的: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));

所以我想要的是水平列出一些页面,然后向左和向右滑动来导航。每个页面都有它自己的View控制器(VCB的子视图控制器),我把它们添加到:
if (controller.view.superview == nil)
{
    [self addChildViewController:controller];
    [self.scrollView addSubview:controller.view];
    [controller didMoveToParentViewController:self];
}

到目前为止,它在ios 6上运行良好。我可以刷卡换页。每个页面内的所有功能也都可以正常工作。
然后问题出现在iOS 7的新特性上,点击右键自动调用popViewControllerAnimated:,点击点击回退按钮一样的效果。为了解决冲突,我禁用了interactivepgesturerecognizer:self.navigationController.interactivePopGestureRecognizer.enabled = NO;
而且它工作正常,当我只想刷卡更改页面时,不需要强制弹出。
现在才是真正的问题。我在导航栏上设置了后退按钮(backbarbuttonem)。每次我从VCB弹出这个按钮回到VCA,当前页面不是第一页(这意味着左边至少有一页),POP动画就像第一个改变页面到左边一个,然后立即显示VCA而没有任何动画。
有什么解决办法吗?请帮帮我。

最佳答案

首先,如果没有任何代码片段,很难确定问题。
其次,为什么不自己创建按钮,并为其添加一个目标,一个将关闭/弹出视图控制器的函数?

关于objective-c - backBarButtonItem与popViewController并滑动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19929109/

10-14 20:25