禁用滚动 UIPageViewController

Posted

技术标签:

【中文标题】禁用滚动 UIPageViewController【英文标题】:Disable scrolling UIPageViewController 【发布时间】:2014-11-10 21:00:34 【问题描述】:

我想 直到 webview 在 ViewController 中加载。 加载 webview 后,在 PageViewController 中启用滚动。 我用:

for (UIScrollView *view in self.pageViewController.view.subviews) 

if ([view isKindOfClass:[UIScrollView class]]) 

    view.scrollEnabled = NO;

但这会永远禁用滚动。

请帮帮我!

【问题讨论】:

【参考方案1】:

简单。在 if 块内,存储对滚动视图的引用以供以后使用。然后,实现 UIWebView 的委托方法 webViewDidFinishLoad:webView:didFailLoadWithError:,并在这两个方法中使用您之前捕获的引用重新启用滚动。

参考文档:https://developer.apple.com/library/ios/documentation/Uikit/reference/UIWebViewDelegate_Protocol/index.html

【讨论】:

原来我必须使用上面的代码?但是如何控制另一个视图控制器中的滚动视图?我确实意识到我需要使用委托 webview。但我不知道如何在另一个视图控制器中控制我的滚动视图?你能展示一个示例代码吗? 这非常非常依赖于您如何实例化视图控制器以及它们之间的关系。使用包含的代码提出一个新问题,我会看看是否可以为您回答。如果这是正确答案,你能接受吗? 我用:appcoda.com/uipageviewcontroller-storyboard-tutorial 只用webview代替图片 好吧,这并没有改变这是一个不同的问题,一个可能已经被其他人回答过的问题。 也许您对代码有一些想法?还是我应该等待其他答案?

以上是关于禁用滚动 UIPageViewController的主要内容,如果未能解决你的问题,请参考以下文章

在其中一个页面中包含的 UISwitch 上开始触摸时禁用 UIPageViewController 滚动

禁用 UIPageViewController 弹跳 - Swift [重复]

自定义 viewcontroller 容器(类似于 UIPageViewController),但没有滚动反弹

禁用和启用页面滚动 (Swift)

禁用 UIPageViewController 反弹

仅在 uiPageViewController 中禁用临时向前滑动