在 UIPageViewController 中设置 UIScrollView 的内容大小

Posted

技术标签:

【中文标题】在 UIPageViewController 中设置 UIScrollView 的内容大小【英文标题】:Setting Content Size of UIScrollView inside UIPageViewController 【发布时间】:2014-07-11 05:12:56 【问题描述】:

我已经在我的应用中实现了页面视图。它有三页。在第二页上,有滚动视图,我在 viewWillAppear 方法中设置了它的内容大小。当我第一次访问第二页时它工作正常,但是当我转到第三页并返回第二页时,并不总是设置内容大小。有时它的设置也需要几秒钟,然后滚动开始。有人可以帮忙吗?

另外,谁能告诉我,每当我们在 UIPageViewController 中从一个页面导航到另一个页面时,总是调用哪个方法?

【问题讨论】:

【参考方案1】:

您必须在

中设置 contentSize
-(void)viewWillLayoutSubviews 
     // your code here

方法,因为这个方法是在viewDidLoad方法之后调用的。

【讨论】:

谢谢,它成功了。只有一件事,如果直接放在 viewWillLayoutSubviews 方法中,设置 contentSize 是行不通的。我必须在 0.5 秒内应用 performSelector,然后在另一种方法中设置 contentSize,现在它的工作延迟为 0.5 秒。无论如何,谢谢。 @Maverick 你能告诉我你做了什么来解决它我面临同样的问题 @Abhishek 这是来自我的一个旧项目的旧帖子。我在您的评论上方的评论已经提到了我为解决它所做的工作。除此之外,我真的不记得任何重要的事情。只需尝试在 -(void)viewWillLayoutSubviews 覆盖方法中设置 ScrollView 的内容大小,如果没有帮助,请尝试使用 performSelector 以 0.5 秒的延迟设置内容大小。希望它对你有用,因为它对我有用。

以上是关于在 UIPageViewController 中设置 UIScrollView 的内容大小的主要内容,如果未能解决你的问题,请参考以下文章

在 UIPageViewController 中设置 UIScrollView 的内容大小

UIPageViewController 显示黑屏

如何让 UIPageViewController 使用过渡样式滚动?

Swift - UIPageViewController中的UIPinchGestureRecognizer

如何让 UIPageViewController 知道我的异步下载何时完成?

在 TabView 中设置 SwiftUI PageTabViewStyle 垂直流向