|
|
1
1
我可以建议3种不同的方法,其中2种是您已经提到的:
每种方法都有其优势,具体取决于您想做什么: uiview与cglayer在性能(一次性绘图)和易用性方面,两者之间不应该有太大的差异(有微小的差异,但没有严重的差异)。显然,不透明度可以为两者导出源代码(我没有亲自使用它)。也就是说,在选择之前,你应该考虑一些事情:
结论 :使用cglayer,除非是特殊情况。 CGLAYER(代码绘图)与PDF(从文件加载)我没有这方面的任何基准,但我希望CGlayer速度稍微快一点:(1)不需要读取文件。(2)PDF命令应转换为系统的图形元素,这或多或少与创建CGlayer相同。(3)我不确定如何缓存PDF页面,但我不希望它比CGlayer更快。不管怎样,除非你想优化到最后一毫秒,否则所有这些都不会有太大的区别。同样,选择应该基于您的用例:
结论 :如果您不需要对图形做太多操作(只想显示图标或其他内容),请使用PDF。如果您需要在应用程序中处理它,请考虑CGLAYER。 当然,您可以根据自己的需要混合各种方法:例如,加载一个PDF文件,将其放入一个CGlayer来调整它,用一个uiview绘制它,您可以在上面放置一个徽章! |
|
|
2
1
我在这个问题上犹豫不决,因为我也有一个关于PDF的问题。我正在与一个UI设计器合作,我们成功地使用pdfs创建UI元素。例如:对于一个按钮,我们有3个PDF用于打开、关闭和阴影。我写了一段代码,将PDF转换为uiimage。它可以缩放生成的图像,甚至可以对其着色,使其具有一个用于多种按钮样式的模板。它工作得很好:) 我们的问题是,如果没有质量损失,我们就不能放大矢量图形。这就是为什么我们决定使用足够大的图形,我们只需要缩小它们。但我仍然想知道是否有一种方法可以在将PDF绘制到上下文并创建uiimage之前将其放大。这是我的 post . |
|
|
KanKonga · 为什么这个swift代码没有显示在文本字段中? 3 年前 |
|
|
Community wiki · 目标的Xcode构建阶段的自动更新? 3 年前 |
|
|
Anton Timonin · 如何正确地将动态pod库更改为静态? 3 年前 |
|
|
Igor · 在OSX中,捆绑包的用户首选项在哪里? 3 年前 |
|
|
narner · 从Swift包创建Cocoapods框架 3 年前 |