旋转到横向时如何让 UIPageViewController 工作?

Posted

技术标签:

【中文标题】旋转到横向时如何让 UIPageViewController 工作?【英文标题】:How do you get a UIPageViewController to work when rotated to landscape? 【发布时间】:2014-02-25 03:42:43 【问题描述】:

在this tutorial on UIPageViewController(底部有项目的下载)中,作者设置了一个很棒的UIPageViewController,在纵向模式下完美运行。

但是当旋转到横向时它会完全出错。图片被推到了左下角,总的来说就是乱七八糟。

我无法弄清楚如何解决这个问题。我已经搜索和搜索,似乎没有示例项目在景观中工作。我需要做什么才能使其在横向环境中工作?

【问题讨论】:

【参考方案1】:

我刚刚在我最近的项目中实现了 UIPageViewController,所以这里是我用来正确设置它的一些属性的快照。从本质上讲,脊椎位置的放置可能会弄乱您的显示。尝试使用不同的值(即 None、Mid、Min、Max),看看哪些对你有用。

【讨论】:

这如何与旋转一起工作?似乎这被硬编码为景观。我需要能够在纵向和横向之间来回切换。 我建议您倾听方向何时发生变化并相应地改变您的脊椎位置。 我确实在使用pageViewController:spineLocationForInterfaceOrientation:,但它仍然无法正常工作。【参考方案2】:

该教程中的PageContentViewController 没有对其视图应用布局约束。

对于UIImageView,我将空间设置为每个方向的超级视图。 对于UILabel,我将空间设置为除底部之外的每个方向的超级视图。

现在图像被拉伸了。

【讨论】:

【参考方案3】:

尝试以下设置。它可能会帮助你。

【讨论】:

以上是关于旋转到横向时如何让 UIPageViewController 工作?的主要内容,如果未能解决你的问题,请参考以下文章

iOS8:当手机旋转到横向时如何显示不同的视图控制器?

iPhone:如何防止视图旋转到横向视图?

UIWebView 旋转内容

在 Swiftui 中如何通过旋转到横向自动关闭模态

如何将视图从纵向模式旋转到横向模式

如何让安卓应用保持横向