ios - 如何使 UIPageViewController 的缓存页面失效?
问题描述
我有一组 UIView 及其控制器,它们代表“文档”中的不同页面。所有这些都在 Apple 的 UIPageViewController 的控制之下。
页面不一定具有静态图形内容。查看任何给定页面时,内容可以根据用户操作而更改。发生这种情况时,我的代码使用setNeedsDisplay
.
但是视图绘制更新不会发生,直到页面显示>之后< UIPageViewController 完成了它所有的魔法动画翻页。
问题在于,在该动画期间,UIPageViewController 似乎使用了旧页面像素的缓存版本。用户看到旧内容直到翻页动画结束,此时,有最后一次更新(由于较早的setNeedsDisplay
调用),然后显示页面的最终正确版本。但是用户看到了这种(闪烁的)变化,没有视觉上的意义,并且违反了所见即所得的 GUI 错觉。
我不能调用每个视图的drawRect:
方法来强制像素改变;drawRect:
保留给系统调用。
那么如何让 UIPageViewController 更新或丢弃缓存页面以防止出现这种视觉混乱的情况呢?
解决方案
推荐阅读
- php - 使用会话回显来欢迎用户 ID,但回显数字
- microservices - 微服务分解策略
- jpa - 在 JPA 规范的子查询中使用 group by
- c++ - 使用 shared_ptr 的引用时的 SIGSEGV
- android - 无法从 Firebase 存储中获取文件的下载网址
- wordpress - 如何在buddypress中阻止用户,使用户无法发送邮件
- node.js - Mongodb在引用数组中插入元素?
- mobile - IBM mobile first 7.1 应用程序中的社交登录或第三方登录
- assembly - 在 mips 中组装
- swift - 如何上传使用 alamofire 转换为 base64 的图像?