0

我正在使用埃里卡苏丹的教程通过 UIPageViewController 显示 PDF,但有两个问题:

1-我不能从每个角落或每个位置(视图的右侧或左侧)滑动书我正在使用苹果 WWDC 2011 代码从任何地方滑动但不起作用:

- (void)viewDidAppear:(BOOL)animated {

    [[[self parentViewController] view] setGestureRecognizers:[self.view gestureRecognizers]];

}

- (void)viewWillDisappear:(BOOL)animated {

    for (UIGestureRecognizer *gesture in [self gestureRecognizers] ) {

        [[[self parentViewController] view] setGestureRecognizers:[self.view gestureRecognizers]];
    }
}

2-识别滑动需要一点时间,我的意思是页面卷曲不是实时滑动。我向左滑动,用手指移动页面需要时间

谢谢

4

1 回答 1

1

我不确定self您的代码中指的是什么。需要发生的是将与 关联的手势识别UIPageViewController器分配给持有UIPageViewController' 视图的视图。在我的一个项目中,我使用以下代码:

self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;

具有属性self的子类在哪里。的视图被添加为 的子视图。UIViewControllerUIPageViewControllerUIPageViewControllerself.view

要回答您的第二个问题,在 iOS 中绘制 PDF 速度很慢。加载并绘制 PDF的UIPageViewController下一页(或上一页),然后它才能开始为页面卷曲过渡设置动画。如果您要显示点差,则可能需要再绘制两页。使用简单的 UIImageView 对象而不是 PDF 视图尝试您的代码,以查看您的页面视图控制器代码是否正常工作。此更改应为您提供高性能结果。然后你就会知道你需要加速你的PDF绘图。

加速 PDF 绘图的一件事是在需要预览图像之前异步绘制预览图像。然后将这些用作页面视图控制器中内容视图的初始绘图。一旦动画稳定下来,然后从 PDF 中重新绘制视图。该pageViewController:didFinishAnimating:previousViewControllers:transitionCompleted:方法应该派上用场。

于 2012-05-25T16:35:00.117 回答