当我浏览时UIPageViewController
比我得到的过渡动画更快'Unbalanced calls to begin/end appearance transitions for <MyDataViewController>
'并且直到我尝试翻页时才会显示两个横向视图之一。
有人有解决这个错误的想法吗?
上面的答案是正确的,但我认为比需要的更详细,并且食谱很有帮助。所以这似乎对我有用:
在设置并调用pageViewController的视图控制器中,
宣布:
@property (assign) BOOL pageIsAnimating;
在 viewDidLoad 中:
pageIsAnimating = NO;
添加这个:
- (void)pageViewController:(UIPageViewController *)pageViewController willTransitionToViewControllers:(NSArray *)pendingViewControllers {
pageIsAnimating = YES;
}
并添加几行:
- (void)pageViewController:(UIPageViewController *)pageViewController
didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers
transitionCompleted:(BOOL)completed {
if (completed || finished) // Turn is either finished or aborted
pageIsAnimating = NO;
...
}
通过拒绝提供视图控制器信息来抑制手势:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
viewControllerAfterViewController:(UIViewController *)viewController {
if (pageIsAnimating)
return nil;
...
return after;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
viewControllerBeforeViewController:(UIViewController *)viewController {
if (pageIsAnimating)
return nil;
...
return before;
}
哦,方向改变会重置标志:
- (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController
spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation {
pageIsAnimating = NO;
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)