问题标签 [catiledlayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
293 浏览

iphone - 两个可见的 CATiledLayers 导致问题!

其他人遇到过这个问题,但我没有看到任何解决方案 - 请参阅(http://openradar.appspot.com/6941930)。

我有一个 UIScrollView,其内容视图的图层包含两个 CATiledLayers。一个平铺层非常快地绘制内容(但足够长以使 drawInRect:太慢了!),另一个绘制它们的速度很慢。

更快的 CATiledLayer 没有 Zoom 具有默认的 LOD 设置,具有较大的平铺尺寸。

较慢的 CATiledLayer 是可缩放的。

仅使用 CATiledLayers 之一的行为符合预期。

问题是将两个图层都添加到可见屏幕会导致其中一个或另一个行为缓慢。令人讨厌的是,它似乎使通常绘制的内容变得更快,更慢。

我还没有看到一种可靠地知道一个 CATiledLayer 何时完成绘制的方法。

我认为解决方案是将平铺图层排队,因此当较快的平铺图层完成时绘制较慢的平铺图层。但是 CATiledLayer 上的文档非常糟糕。

我尝试使用 NSTimer,并在绘制第二个平铺层之前将其设置为等待 3 秒。然而,这似乎并不能解决问题!我迷路了!

0 投票
1 回答
919 浏览

objective-c - 将大的 CATiledLayer 渲染到较小的区域

我有一个大小为 4096 x 4096 的 CATiledLayer,我想将其渲染为大小为 1024 x 1024 的 PNG

这不是在做...

关于如何做到这一点的任何想法?

0 投票
5 回答
1401 浏览

iphone - CATiledLayer 多次请求同一个图块

请看这个简单的 CATiledLayer 示例https://github.com/seanhess/CATiledLayer-Example

它由一个具有如下层次结构的 viewController 组成:

内容视图的图层已被覆盖为 CATiledLayer。

如果您运行链接代码,您会看到多次请求具有相同矩形的图块。它在您第一次运行代码和滚动时都会发生。

切换到分支“单列” - 它只发生在 init 上,永远不会在您向下滚动时发生。

切换到分支“default-tile-size”——它只发生在 init 上,但很少发生(你必须在它发生之前多次运行它)

我正在尝试编写一些代码drawLayer:inContext:来定位正确的数据并绘制它。它可能很昂贵,我不想多次这样做。

知道发生了什么吗?我能做些什么不同的事情?

0 投票
1 回答
163 浏览

iphone - iphone CATiledLayer 不被识别为类?

我遵循苹果 ZoomingPDFViewer 示例,我拥有与示例中一样的框架,但是当我在 xcode 中编写时,该类CATiledLayer在编辑区域中没有被识别(没有像示例中那样作为一个类出现紫色,并且命令单击那个单词并且不认识它),我错过了什么?

我构建项目并没有收到错误或警告,但为什么它不识别类?

编辑>

按照建议更改了项目获取信息设置,但仍然无法正常工作!

  • 将编译器从 GCC 4.2 更改为 LLVM GCC 4.2。
  • 更改了项目格式以匹配我正在使用的 Xcode 版本(“Xcode 3.2-compatible”)。
  • 单击“重建代码感知索引”按钮。

仍然不工作!,它可能是什么?,它似乎在苹果示例代码中工作,但不是在我的?我会错过什么?

提前致谢!!

0 投票
2 回答
2882 浏览

ios - 在 iOS 中从 pdf 文档中读取文本和图像

我在我的 iPad 应用程序中显示本地存储的 pdf。这是代码:

现在,默认情况下,您无法从 UIWebView 呈现的 PDF 中复制文本或图像。有没有办法让用户从 pdf 中复制文本和/或图像?

我不熟悉 CATitledLayer,所以我只是想知道在这种情况下它是否有帮助?

0 投票
1 回答
1158 浏览

performance - CATiledLayer 用按钮绘制巨型 UIView?

我有这个巨人UIView,大约有 600UIButtons个子视图。大约是UIView2000 x 2000 像素,它本身就是UIScrollView. 我正在尝试实现CATiledLayer这个巨人的渲染层,UIView但我似乎无法弄清楚如何渲染瓷砖。我发现了很多CATiledLayer包含平铺图像、pdf 的示例……但我从来没有找到一个真实的示例来说明如何绘制包含大量子视图的完整 UIView。你可能会问我为什么要坚持UIView?因为我希望用户继续使用按钮与视图进行交互。

我想知道是否有人有关于如何实现该- (void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context方法的示例或一些伪代码,请记住,有 1 个巨人的子视图UIView很多。UIbuttons

0 投票
1 回答
495 浏览

animation - 带有动画内容的 CATiledLayer

我有这个由 CATiledLayer 支持的 UIView。目前我的设置工作非常顺利,但是当我想在这个 CATiledLayer 上为某些视图对象设置动画时,恐怖就开始了。

我读过我可以强制 CATiledLayer 使用setNeedsDisplay. 但这实际上重绘了屏幕上的所有内容。所以所有的瓷砖都重新加载了。

当某些东西正在制作动画时,我应该如何更新我的图层?让我们以以下为例:我的图层上有 6 个绿色矩形,当我按下 UIButton 时,我想将 4 号矩形的颜色更改为红色,并将矩形 1 2 和 3 重新定位在贝塞尔曲线上。

0 投票
1 回答
1334 浏览

iphone - 如何动态处理图像平铺

我正在编写一个应用程序,它将图像 256 * 256 平铺并将这些平铺文件写回目录中。如果有任何更新,我每次都会更新我的 URL,并将这些图像平铺回来并存储在 iphone 文件夹中。我主要担心两件事情: 1) 内存消耗——5 张 200 KB 大小的图像的内存消耗会很大吗?2) 如果我必须同时将 5 个不同的 URL 与图像平铺,我可以多快处理我的应用程序?

我已经编写了一个代码来平铺并保存在一个 URL 的目录中,并希望对 5 个 URL 执行相同的操作。是否建议采用这种方法,或者如果有人有不同的方法?

0 投票
2 回答
1831 浏览

ios - iOS CATiledLayer 崩溃

我有一个适用于 iPad 的 pdf 阅读器应用程序,我使用滚动视图来显示每一页。我将页面保持在视图中,并在页面的任一侧保持一个页面。我对纵向和横向视图有单独的视图。纵向视图显示单页,横向查看器显示 2 页。

当 iPad 改变方向时,我卸载旧方向的视图并加载新方向的视图。所以说它是纵向视图,然后更改为横向应用程序卸载纵向视图并加载横向视图。这一切都很好,除非 pdf 很大。

pdf 是使用 tiledlayers 绘制的。当使用大 pdf 更改方向时,应用程序正在崩溃。仅当在所有图块绘制完成之前更改方向时,应用程序才会崩溃。我的猜测是它正在崩溃,因为它试图将图块绘制到视图中而不是已卸载。那么有没有办法在我卸载视图时停止绘制瓷砖?

0 投票
1 回答
355 浏览

iphone - 我们可以在 CATiledLayer 上添加一个新层吗?

我在 CATiledLAyer 中显示一个大图像。

现在我想在用户触摸该图像的两点之间画一条线。

这可能吗?,如果是的话,你能概述一下完成它的方法吗?

谢谢,拉特纳