ios - 使用 CATiledLayer 的 drawLayer :inContext:

标签 ios dictionary uiscrollview catiledlayer

我正在尝试使用 CATiledLayer + UIScrollView 实现我自己的 map 引擎。

在我实现的 drawLayer:inContext: 方法中,如果当前边界框需要某个图 block 图像,我会立即在上下文中绘制它。

但是,当我在本地缓存数据结构中没有可用的时,会从切片服务器异步请求/下载切片图像,并且不会在上下文中绘制任何内容。

问题是,当我不在上下文中绘制任何内容时, View 的那部分显示为空白图 block 。并且预期的行为是显示先前缩放级别的放大缩放图 block View 。

如果你们遇到过任何类似的问题并找到解决方案,请告诉我。

最佳答案

您必须在获得数据后立即为磁贴设置NeedsDisplayInRect:。在瓷砖可用之前,您必须忍受它是空白的,因为您无法影响 CATiledLayer 正在创建的瓷砖。

关于ios - 使用 CATiledLayer 的 drawLayer :inContext:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4842039/

相关文章:

ios - 如何从 XCUIElementQuery UITesting 获取可见单元格计数

IOS 添加和删除 subview 内存泄漏

ios - 受管对象上下文未合并来自后台上下文的更改

ios - Swift 解码具有多种不同格式的数据类型

javascript - 想要删除 markerClusterer 本地图处于最大值时。一个或多个标记位于同一位置时的缩放级别

c - 在 C 中实现字典的快速方法

c++ - 为什么我的 "choose k from n"算法适用于 std::vector 但不适用于 std::map?

objective-c - 在 iOS 5.1 中显示模态视图 Controller 后,UIScrollView 无法正常运行

iphone - 如何平滑滚动以查看 iOS 中 tableview 中的所有项目

iphone - UIScrollView内容偏移问题