UIPageViewController委托方法类似于scrollViewDidScroll:(UIScrollview*)scrollview

2024-01-01

我正在使用 UIPageViewController 来滑动一系列视图控制器。我希望父视图控制器的背景在滑动时根据视图之间滚动的位置在颜色之间平滑过渡。我希望 UIPageViewController 会有一个类似于带有位置的 scrollViewDidScroll 的委托方法,但似乎没有。

是否有替代方法或类似的方法来公开滑动发生/变化的位置?

EDIT: 由于滚动视图似乎没有暴露,我想出了一个永久/临时解决方案。在页面之间转换时,我会通过 1 秒的动画来转换父背景颜色。这不会直接与滑动相关,也不会允许半滑动等。但对于常规的左右滑动,它可以实现所需的平滑效果,而不是即时颜色变化。

// code that occurs when a pageControl swipe occurs. 

UIColor *destinationColor = [UIColor redColor];  // the desired end color

[UIView animateWithDuration:1.0
                      delay:0
                    options:UIViewAnimationOptionAllowUserInteraction
                 animations:^{
                     self.pageViewController.view.backgroundColor = destinationColor;
                 }
                 completion:nil
];

虽然UIScrollView of the UIPageViewController默认情况下不公开,实际上并不难找到,因此您可以通过将视图控制器设置为UIScrollViewDelegate然后在中做类似的事情viewDidLoad方法或类似方法:

for (UIView *view in pageViewController.view.subviews) {
    if ([view isKindOfClass:[UIScrollView class]]) {
        ((UIScrollView *)view).delegate = self;
        break;
    }
}

现在你的视图控制器可以实现scrollViewDidScroll:并能够跟踪页面视图控制器的转换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIPageViewController委托方法类似于scrollViewDidScroll:(UIScrollview*)scrollview 的相关文章

随机推荐

  • 使用 N 路合并的时间复杂度

    我正在研究 2 路合并排序算法 并思考是否通过减少合并次数我们可以在时间方面获得更好的收益 例如 在 2 路合并中 我们有以下递归 T n 2T n 2 O n 时间复杂度为 N log base 2 N 如果我将问题除以 4 并合并 4
  • Go - 附加到结构上的切片不会持久[重复]

    这个问题在这里已经有答案了 我很难理解看似非常基本的操作 我想创建两个结构 其中一个结构将保存另一个结构的一部分 这是一个简单的例子来说明问题 Post structure type Post struct User string bson
  • 电子错误 AVDCreateGPUAccelerator:加载 GPU 渲染器时出错

    我正在尝试我的第一个电子应用程序 有谁知道为什么我收到此错误AVDCreateGPUAccelerator Error loading GPU renderer当我这样做时在终端npm start 目前看来还没有什么效果 我从安装一开始就使
  • 是否可以轻松地降低 ggplot 的饱和度?

    是否可以去饱和ggplot容易地 原则上 可能有两种可能的策略 首先 将一些函数应用于ggplot对象 或者 可能 Grob对象 来降低所有颜色的饱和度 二 打印的一些技巧ggplot渲染时降低饱和度 rmd文件 这两种策略对我来说都可以
  • 将字符串转换为 xsl 中的节点列表

    我目前有一个字符串 XSLT 1 0 我想将其转换为 NodeList 以便可以在以下示例中使用它 testString 表示 XML 树中的一个元素
  • Django 测试运行程序在 Ubuntu 上的 virtualenv 中失败

    我一直在努力解决 Ubuntu 14 04 上的 Python virtualenv 中安装的 Django 测试运行程序的问题 同样的软件在 MacOS 上运行良好 我认为在早期版本的 Ubuntu 上也运行良好 失败消息是 Import
  • utf-8 字符和 apache2 重写规则的问题

    我看到帖子了验证 htaccess 重写规则中的 utf 8 https stackoverflow com questions 2565864 validating utf 8 in htaccess rewrite rule我认为这很好
  • 使用 Asp.Net 主题时如何强制浏览器重新加载缓存的 CSS 文件? [复制]

    这个问题在这里已经有答案了 可能的重复 App Theme 文件夹中的 CSS 被缓存在浏览器中 https stackoverflow com questions 4517281 css in app theme folder gets
  • Discord.py 中的延迟命令

    我查看了很多地方 但找不到使用 ping 延迟 命令的方法discord py 像这样 client command pass context True async def pong ctx Somehow find pingtime aw
  • ASP.Net,母版页:每页样式表

    这些是我的假设 这些正确吗 使用 CSS 进行布局优于 使用表格 CSS 应提取到单独的文件中 而不是内联 CSS 是从 site master 中导入 链接 的 因此所有 css 都会导入 并应用于 所有 aspx 页面 鉴于此 我有一个
  • 在 data.frame 的列中填充字符串

    我有一个data frame X 有一个列A洋溢着chr 其中大部分属于nchar 5 但有些是nchar 4 我想放一个0在那些人面前 我会用以下伪代码来做到这一点 foreach element of X A as a this lin
  • jsPDF html 方法使用 addPage 在生成的 PDF 中分割页面

    我在用jsPDF s html为某些由多个段落组成的 html 生成 PDF 的方法p与每个p包含 50 500 个单词 PDF 是使用我定义的样式正确生成的 我面临的唯一问题是当内容p标签溢出到 PDF 中的新页面 剪切部分文本 如下所示
  • 如何使用sendinput函数C++

    尽管我从msdn看到了sendinput函数 但我不知道输入了什么参数 UINT WINAPI SendInput In UINT nInputs In LPINPUT pInputs In int cbSize 上面的参数是什么意思以及我
  • 使用 T-SQL 生成随机字符串

    如果您想使用 T SQL 生成伪随机字母数字字符串 您会怎么做 如何从其中排除美元符号 破折号和斜杠等字符 使用指南 SELECT randomString CONVERT varchar 255 NEWID 很短
  • 在 RSpec 测试中“let”真正节省了多少时间?

    我发现在代码中设置变量比使用变量容易得多let let很挑剔 总是告诉我错误使用的方式 当我在规范中使用简单的变量声明时 例如 tx good makeTransaction1 一切正常 但是当我使用let像这样 let tx good m
  • Django,级联移动到单独的表而不是级联删除

    我想在我们使用时保留数据delete 代替soft delete 使用 is deleted 字段 我想将数据移动到另一个表 对于已删除的行 https stackoverflow com a 26125927 433570 https s
  • 结果文档中生成空/空白命名空间声明

    我编写了一个用于将 XML 转换为 ePub 的包 一切正常 除了某些情况下 空白命名空间 xmlns 节点被写入结果文档 在转换之前 我准备了临时变量来保存主要段 即 meta body等 最后复制节点 使用xsl copy of cop
  • 为什么我们需要杰克逊数据绑定?

    我是 Spring MVC 的新手 我的问题是 为什么我们需要 jackson databind 因为我们可以收到Request Params by ModelAttribute并通过 http PUT 或 POST 请求 RequestB
  • 在 React 中更新 d3 元素?

    我正在尝试根据输入栏中的搜索输入更新此气泡图 现在 我将所有 d3 代码放入 Bubble js 中 然后在 app js 中 我有一个 searchinput 元素 它将过滤要显示的数据 然后在 Bubble 的状态中 我将其数据设置为等
  • UIPageViewController委托方法类似于scrollViewDidScroll:(UIScrollview*)scrollview

    我正在使用 UIPageViewController 来滑动一系列视图控制器 我希望父视图控制器的背景在滑动时根据视图之间滚动的位置在颜色之间平滑过渡 我希望 UIPageViewController 会有一个类似于带有位置的 scroll