0

我正在开发一个使用 SVG 图像的项目,并且我读到使用 iOS 处理下垂图像并不容易。
我已经尝试过的是这个答案:How to display .svg image using swift。我将已弃用的 UIWebKit 更改为 WKWebKit,但不幸的是,当它尝试解开图像时出现错误(nil)。
因此,我使用 SwiftSVG-Framework 尝试了第二个答案。

安装框架后,我试图让它工作。代码编译并且没有错误,但我使用的图像没有显示。我使用的代码如下:

let fistBump = UIView(SVGNamed: "ukulele")     // In the main bundle
self.addSubview(fistBump)

有人知道如何快速处理 svg 图像,还是有办法让 SwiftSVG 工作?

编辑

我试图在我的视图中添加一个框架和约束,但不幸的是这并没有解决问题。仍然没有显示错误,也没有显示图片。
我使用的代码如下所示:

let fistBump = UIView(SVGNamed: "ukulele")     // In the main bundle
self.addSubview(fistBump)
fistBump.frame = CGRect(x: 0,y: 0, width: 50, height: 50) 
self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-[v0]|", options: NSLayoutConstraint.FormatOptions(), metrics: nil, views: ["v0": fistBump]))
self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[v0]|", options: NSLayoutConstraint.FormatOptions(), metrics: nil, views: ["v0": fistBump]))

我还发现,无论我在 SVGNamed-String 中输入什么内容,我都不会收到错误消息,所以基本上这可以工作,但图像显然没有显示:

let fistBump = UIView(SVGNamed: "test321")     // Doesn't throw an error
self.addSubview(fistBump)
4

2 回答 2

0

嗨,您可以尝试将 svg 视图添加为另一个视图的子视图,您可以设置约束

于 2020-07-16T18:19:08.043 回答
0

您需要设置框架/约束

let fistBump = UIView(SVGNamed: "ukulele") 
fistBump.frame = ////
于 2020-02-22T00:26:25.033 回答