更改UIPageViewController转换方式

5

我想在我的iOS 5.0应用程序中使用一个水平的UIPageViewController

唯一的问题是,我不希望使用UIPageViewControllerTransitionStylePageCurl过渡效果。有没有一种方式可以获得经典的过渡效果,比如平移?

注意:即使是丑陋的hack也可以接受,因为它可以省去很多以前的代码。

2个回答

2

1
UIPageViewController处理内存管理,因此即使我有50页的列表,我每次只加载3个视图控制器。 - CedricSoubrie
1
使用UIScrollerView,您可以加载3个(上一个,当前和下一个),并卸载其余的内容,可能需要更多的工作,因为您必须“手动”完成它,但仍然不明白只是因为它处理内存管理而使用UIPageViewController的意义。 - jcesarmobile
我已经写了你所说的代码,现在我想摆脱它,因为UIPageViewController正好可以实现我想要的功能(除了这个动画)。更少的代码意味着更少的维护工作,所以我正在尽可能地删除代码。 - CedricSoubrie

0

但是UIPageViewController只有一种过渡样式:

 enum {
  UIPageViewControllerTransitionStylePageCurl = 0
 };
 typedef NSInteger UIPageViewControllerTransitionStyle;

解决方案是您需要创建一个带有自定义转换的UIPageViewController,就像viewController一样。
请参考MPFoldTransition示例代码。

我知道你可以通过将CATTransition添加到UINavigationController来更改导航控制器的推送转换。也许还有一种方法可以使用它来更改UIPageViewController的转换,不是吗? - CedricSoubrie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接