UIPageViewController 禁用滚动

2023-11-21

我正在使用带有transitionStyle的UIPageViewControllerUIPageViewControllerTransitionStyleScroll和导航方向UIPageViewControllerNavigationOrientationVertical

我也有一个UIPanGestureRecognizer在视图上,我想在平移手势处于活动状态时禁用页面滚动。

我试图在手势开始时设置以下内容:

pageViewController.view.userInteractionEnabled = NO;

这似乎没有任何效果,或者似乎偶尔起作用。

我发现执行此操作的唯一其他方法(有效)是在平移手势运行时将 UIPageViewController dataSource 设置为 nil,但这会在重置 dataSource 时导致巨大的延迟。


UIPageViewController 使用一些 UIScrollView 对象来处理滚动(至少对于transitionStyleUIPageViewControllerTransitionStyleScroll)。您可以通过控制器的子视图进行迭代pageViewController.view.subviews为拿到它,为实现它。现在,您可以轻松启用/禁用滚动:

- (void)setScrollEnabled:(BOOL)enabled forPageViewController:(UIPageViewController*)pageViewController
{
    for (UIView *view in pageViewController.view.subviews) {
        if ([view isKindOfClass:UIScrollView.class]) {
            UIScrollView *scrollView = (UIScrollView *)view;
            [scrollView setScrollEnabled:enabled];
            return;
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIPageViewController 禁用滚动 的相关文章

随机推荐

  • 如何查找并删除文本文件中的表情符号?

    我试图从我主要使用 sed 和一些 perl 命令解析的文本文件中删除所有表情符号 并且最好将它们存储在单独的文件中 但这不是必需的 我可以使用 bash 或 perl 轻松完成此操作吗 或者我应该使用另一种语言 EDIT 感谢赛勒斯和巴尔
  • xamarin.form 中的弹出消息框

    我想做的与 DisplayAlert 类似 弹出一个显示页面 其中包含图像 内容和右上角的小关闭按钮 显示页面不应覆盖整个手机 但大约 80 的手机 UI 背景仍作为父页面 我正在尝试使用 PushModalAsync 和 PopModal
  • 如何调整动态加载的本机 dll 的 %PATH%?

    我正在动态加载一个 NET 程序集 该程序集依赖于多个native dll 位于各个文件夹中 但只有当我的应用程序启动时这些 DLL 的文件夹位于 PATH 环境变量中时 Windows 才会找到这些 DLL 我想从程序中修改 PATH 变
  • 在 Django Tastypie API 中包含子资源

    我正在规划一个使用 Django 和 Tastypie 实现 REST API 的网站 并且 我很难找到 正确 的包含方式 返回的资源中的子资源 作为沙箱 我制作了一个带有 Ticket 模型和 TicketComment 的小应用程序 模
  • 执行和测试 stanford core nlp 示例

    我下载了 stanford core nlp 包并尝试在我的机器上测试它 使用命令 java cp mx1g edu stanford nlp sentiment SentimentPipeline file input txt 我得到的情
  • 学习异常处理模式[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 在编程中一直让我困惑的一件事是如何使用适当的异常处理 Code Complete 指出 通常 90 的代码都专注于处理异常 虽然我知道实现基本异常的基础知识 但我还没有找到针对如
  • 使用 NodeJS 的 Slack API (files.upload)

    EDITED 我正在尝试构建文件上传 API通过 Slack 提供 但我很难理解正确的格式 目前 我可以使用 API 上传文本文件 但我无法弄清楚如何上传图像 这是我的问题 我的开发服务器上有一个图像 我们将其命名为 image png 我
  • 如何创建带有可选参数的构造函数? [复制]

    这个问题在这里已经有答案了 我有 construct parameter public function construct nick query SELECT FROM Users WHERE nick nick result App r
  • 如何防止闪亮的应用程序变灰?

    我们有一个在 Heroku 中托管的闪亮应用程序 用户不活动 55 秒后 应用程序将变灰 这适用于 Chrome 和 Safari 边缘工作正常 Heroku 对此有一个默认超时 并且看起来无法使用 R 构建包对其进行修改 https gi
  • django 翻译模板 {% trans "something" %}

    好吧 我一直在疯狂地寻找这个我认为简单的问题 我使用 Django 1 4 问题是 django 不会在我的模板中翻译简单的 trans work 这就是我所做的 设置 py LANGUAGE CODE en us USE I18N Tru
  • 如何向窗口标题栏添加额外的按钮,使其正常工作?

    Firstly I want mention that I have already read all articles on SO on subject but still have no answer for my question A
  • 非原子加载可以在原子获取加载之后重新排序吗?

    众所周知 自 C 11 以来 有 6 个内存顺序 并且在文档中编写了有关std memory order acquire http en cppreference com w cpp atomic memory order 内存顺序获取 使
  • 如何设置CultureInfo.CurrentCulture?

    Using Console WriteLine System Globalization CultureInfo CurrentCulture ToString I get en US 我应该在控制面板设置中更改什么 区域和语言 以获得其他
  • SqlDateTime如何降低精度

    考虑以下程序 DateTime dateTime new DateTime 634546165144647370 SqlDateTime sqlDateTime new SqlDateTime dateTime Console WriteL
  • 从 python bdist_egg 或 bdist_wheel 中排除单个源文件

    背景 我有一个负责安全性的源文件 其中有神奇的钥匙和特定的算法 是否可以从 python Egg 或 Wheel 包中删除这个单个源文件 我已经完成了使用 Egg 命令仅发送二进制文件 python setup py bdist egg e
  • 异步 Task.WhenAll 超时

    新的异步 dotnet 4 5 库中有没有办法设置超时Task WhenAll方法 我想获取多个源 并在 5 秒后停止 并跳过未完成的源 您可以将结果结合起来Task with a Task Delay using Task WhenAny
  • 如何获取 Django 响应对象的内容长度?

    在 Django 中 我尝试记录请求和响应内容长度 这与 Django 服务器打印到 stderr 的内容完全相同 05 Apr 2011 22 59 08 GET pages HTTP 1 1 200 332161 05 Apr 2011
  • 为什么 const 限定符不能作用于 const 对象的指针成员?

    我知道这个问题已经被问了很多 但我能找到的唯一答案是当使用 int 或类似的方法实际上抛弃了 const ness 时 当不涉及强制转换时 为什么 const 限定符不能作用于 const 对象的指针类型成员变量 include
  • 嵌入在选项卡栏中的 iOS7 表格视图不显示最后一个单元格

    在我的故事板中 我有一个视图控制器 嵌入导航控制器中 在视图控制器内 我有一个选项卡栏控制器 在选项卡内有一个表视图控制器 我的问题是表视图的最后一行位于选项卡栏控制器的选项卡栏 下方 如果我为 iOS 6 构建应用程序 则不会发生这种情况
  • UIPageViewController 禁用滚动

    我正在使用带有transitionStyle的UIPageViewControllerUIPageViewControllerTransitionStyleScroll和导航方向UIPageViewControllerNavigationO