gpt4 book ai didi

ios - UIPageViewController 旋转怪异

转载 作者:行者123 更新时间:2023-11-29 03:59:47 29 4
gpt4 key购买 nike

我已将 UIPageViewController 添加到我的应用程序中,作为应用程序的手册。当用户弹出它时,它会以纵向显示一页,以横向显示两页,书脊位于中间。由于我有大约 100 个页面,因此其上方有一个同级 View UICollectionView 页面选择器 View ,以允许快速跳转到页面。 UIPageViewController 和 UICollectionView 都位于包含它们的支持 View 上。

我在 UIPageViewController 中遇到的问题是,当 View 第一次旋转时,它们似乎将自己限制在原始布局的短尺寸上。因此,如果它首先以纵向显示,那么当旋转到横向时,两个页面的宽度与旧的纵向宽度相同。同样,如果它首先以两页横向显示,则旋转到纵向具有正确的宽度,但高度是初始横向高度的高度。这在任何设备上都是一致的。

当我创建内容 View 时,它们都是我想要的大小,但由于某种原因,它们似乎被 UIPageViewController 的某些组件转换,并且我不明白为什么它只执行两个维度之一以及为什么它问题始终是“空方”。

这是让我感觉有点疯狂的问题之一,如果不是一些微不足道的错误配置,我有什么想法可以调试它吗?

最佳答案

经过长时间的调试终于找到了。关键提示是在从纵向到横向旋转之前,将脊柱设置为 View 宽度的正确中间位置。解决方案是将 View 的框架重置为给定 willAnimateRotationToInterfaceOrientation 中方向的新尺寸。

在调用使用传递到方法中的持续时间的动画 block 之前,我计算新的大小,然后在 block 内我有:

  pageViewController.view.frame = newFrame;

当页面旋转时,包含内容页面的 View 将移动到正确的尺寸,书脊位置正确,内容填充给定区域。我想我遇到了这个问题,因为 View 的复杂性要求我接管如此多的默认值,但这个问题却悬而未决。

关于ios - UIPageViewController 旋转怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16028841/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com