objective-c - 在 Objective-C 项目中使用 SVG 路径
问题描述
我命令画一条复杂的线。我通过以下方式使用贝塞尔路径:
UIBezierPath* bezierPath = [UIBezierPath bezierPath];
CAShapeLayer *shapeView = [[CAShapeLayer alloc] init];
//And set its path:
[shapeView setPath:mybezierPath.CGPath];
//Finally add it:
[[self.view layer] addSublayer:shapeView];
如何从 SVG d 标签传递路径,例如:
d = M418.3,70c-0.2-4.3-1.1-8.4-2.4-12.2c-0.3,0.1-12.3,4.9-52.7,4.9c-40.8,0-51.5-4.9-51.5-4.9c-0.9,2.1-1.5,4.1-1.9,5.7c-1.9,8.3-2.8,23.5-2.5,28.2s1
到 mybezierPath 变量?
提前致谢
解决方案
AppKit 或 UIKit 中没有默认的 SVG 解析器。这是因为UIBezierPath
orNSBezierPath
不能涵盖 SVG 可以描述的所有内容。
您可以搜索可以从 SVG 中使用的格式解析路径的 UIBezierPath 扩展(类别)。或者您可以编写自己的解析器。
推荐阅读
- ionic-framework - 在离子中离开当前页面时如何关闭模式
- amazon-ec2 - AWS EC2 实例中有多少个节点?
- c# - 使用正则表达式从电子邮件 HTML 中捕获某些内容
- c# - EF Core 创建一个不存在的字段
- angular - 为什么点击事件即使被删除也会触发?
- macos - MacOs - 解压大量 .gz 文件
- c++ - lambda 表达式的执行策略问题
- python - 在 Windows Server 2012 上运行 Flask 站点的 EC2 Windows Server 上执行 Selenium 脚本
- java - FileProvider IllegalArgumentException
- sql - SQL查询计数相同的值并在单独的列中显示值