【发布时间】:2013-05-02 12:17:07
【问题描述】:
我在我的应用中添加了一个 UIPageViewController 作为应用的手册。当用户弹出它时,它会显示一页纵向和两页横向,书脊在中间。由于我有大约 100 个页面,因此在其上方有一个兄弟视图 UICollectionView 页面选择器视图,以允许快速跳转到页面。 UIPageViewController 和 UICollectionView 都位于包含它们的后备视图上。
我在使用 UIPageViewController 时遇到的问题是,当视图第一次旋转时,它们似乎将自己限制在原始布局的短尺寸上。因此,如果它首先以纵向出现,那么当旋转到横向时,两个页面的宽度与旧的纵向宽度相同。同样,如果它首先以两页横向显示,则旋转到纵向具有正确的宽度,但高度是初始横向高度的高度。这在任何设备上都是一致的。
当我创建我的内容视图时,它们都是我想要的大小,但由于某种原因,它们似乎被 UIPageViewController 的某些组件转换了,我不明白为什么它只做两个维度之一以及为什么它始终是问题所在的“短边”。
这是让我感觉有点疯狂的问题之一,如果不是一些琐碎的错误配置,我有什么想法可以调试它吗?
【问题讨论】:
-
我已经抽出一些时间来处理应用程序的其他部分,现在才回到这个问题上。重新审视我的内容的 loadView,大小设置一次。似乎 UIPageViewController 正在缓冲它接收的内容视图的第一个大小,并根据旋转按比例调整内容。这里还有一些我没有理解的奇怪的东西。每次更改内容时,我都会尝试暴力破解内容的大小,看看是否能解决主要问题。