Ios iPad上的脏动画';UIPageViewController
我目前正在开发iPad版的iPhone应用程序。我有一个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
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)
}
试试看,让我知道