Ios iPad上的脏动画';UIPageViewController

Ios iPad上的脏动画';UIPageViewController,ios,objective-c,ipad,animation,uipageviewcontroller,Ios,Objective C,Ipad,Animation,Uipageviewcontroller,我目前正在开发iPad版的iPhone应用程序。我有一个UIPageViewController,它的UIViewController可以前进或后退 要做到这一点,我使用 - (void)setViewControllers:(NSArray *)viewControllers direction:(UIPageViewControllerNavigationDirection)direction animated:(BOOL)animated completion:(void (^)(BOOL

我目前正在开发iPad版的iPhone应用程序。我有一个
UIPageViewController
,它的
UIViewController
可以前进或后退

要做到这一点,我使用

- (void)setViewControllers:(NSArray *)viewControllers direction:(UIPageViewControllerNavigationDirection)direction animated:(BOOL)animated completion:(void (^)(BOOL finished))completion
它在iPhone上运行良好,但在iPad上,动画不是很清晰。当动画接近完成时,我会得到一些黑色的边距

我试图直接从
UIPageViewController
启动,效果很好

因此,我猜测动画变脏是因为
子视图控制器
触发了页面更改,并且
子视图控制器
没有在适当的时候解除分配肯定存在一些问题

UIViewController
中的我的代码:

- (IBAction)backHandler:(id)sender {
     UIPageViewController *pvc = (UIPageViewController *) self.parentViewController;
     [pvc previousPage];
}
- (void)previousPage {
    UIViewController *vc = [self pageViewController:self viewControllerBeforeViewController:[self.viewControllers firstObject]];
    [self setViewControllers:@[vc] direction:UIPageViewControllerNavigationDirectionReverse animated:YES completion:nil];
}
UIPageViewController
中的我的代码:

- (IBAction)backHandler:(id)sender {
     UIPageViewController *pvc = (UIPageViewController *) self.parentViewController;
     [pvc previousPage];
}
- (void)previousPage {
    UIViewController *vc = [self pageViewController:self viewControllerBeforeViewController:[self.viewControllers firstObject]];
    [self setViewControllers:@[vc] direction:UIPageViewControllerNavigationDirectionReverse animated:YES completion:nil];
}
你知道我如何解决这个动画问题吗


非常感谢

我想我也有同样的问题

我解决了调用该方法的问题,但有一点延迟:

func delayBlock(delay:Double, closure:()->()) {
    dispatch_after(
        dispatch_time(
            DISPATCH_TIME_NOW,
            Int64(delay * Double(NSEC_PER_SEC))
        ),
        dispatch_get_main_queue(), closure)
}
然后:

delayBlock(0.1){
                 self.setViewControllers([nextPageVC], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
            }
试试看,让我知道