作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
全部,
我无法从 CATiledLayer 获取我想要的行为。有没有一种方法可以触发图 block 重绘,而不会产生先将其区域清除为白色的副作用?我已经将 CATiledLayer 子类化以将 fadeDuration 设置为返回 0。
更具体地说,以下是我所看到的以及我想要实现的目标的详细信息:
谢谢;我很欣赏你的想法。
更新:
只是为了跟进 - 我意识到在重画之前瓷砖并没有被清除为白色,它们被完全取出;我看到的白色是我的 CATiledLayer 支持 View 下方 View 的颜色。
作为快速破解/修复,我将 UIImageView 放在 UIScrollView 下方,在触发 CATiledLayer 支持的 View 的重绘之前,我将其可见部分渲染到 UIImageView 中并让它显示。这可以显着平滑重绘。
如果有人有更好的解决方案,例如在重绘之前防止以重绘为目标的图 block 消失,我仍然很想听听。
最佳答案
我发现,如果您将levelsOfDetailBias和levelsOfDetail设置为相同的值(在我的例子中为2),那么它只会重绘被我的setNeedsDisplayInRect:调用触摸的图 block ,正如您所希望的那样。
但是,如果levelsOfDetail与LODB不同,则对setNeedsDisplayInRect的任何调用:重绘所有图 block 。
关于iphone - CATiledLayer 在绘制内容之前消隐图 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1710628/
我是一名优秀的程序员,十分优秀!