我正在使用Macaw库在应用程序中显示SVG图像,但无法在用户交互时为特定的SVG视图着色。
我能够通过静态添加SVG文件中存在的节点标记来向SVG文件添加颜色。但是如何在运行时动态获取这些节点标签呢?
我的代码:
override func viewDidLoad() {
super.viewDidLoad()
svgView.fileName = "svgFileName"
let tapGesture = UITapGestureRecognizer(target: self,action: #selector(self.tapBlurButton(_:)))
view.addGestureRecognizer(tapGesture)
}
@objc func tapBlurButton(_ sender: UITapGestureRecognizer) {
changeNodeColor(nodetag: "AQW-12")
}
func changeNodeColor(nodetag : String) {
let nodeShape = self.svgView.node.nodeBy(tag: nodetag) as! Shape
nodeShape.fill = Color.red
}