我已经将SVGKit导入到我的项目中,并且我想加载我存储在NSString中的SVGKit图像,如下所示:
<svg xmlns="http://www.w3.org/2000/svg" ....
</svg>当我尝试通过
SVGKImage* newImage = [SVGKImage imageWithContentsOfURL:svgUrl];我得到错误是因为url是nil,这是显而易见的,因为它不是URL,但是库中有没有我可以使用的方法??
发布于 2014-06-10 16:33:09
您需要从URL的字符串表示形式创建一个NSURL对象,因此:
NSString *strURL = "http://......";
NSURL *imageURL = [[NSURL alloc] initWithString:strURL];
SVGKImage *svgImage = [SVGKImage imageWithContentsOfURL:imageURL];这有帮助吗?
发布于 2014-06-10 16:35:43
您可以这样做:
NSData* svgData = [svgSource dataUsingEncoding: NSUTF8StringEncoding];
SVGKImage *svgImage = [SVGKImage imageWithData:svgData];然而,我怀疑你应该做的就是张的建议。在任何情况下,您都应该确保在下载数据时是在主线程之外进行的。
发布于 2016-01-30 11:35:17
使用SVGKit 2.x,您可以使用SVGKLayeredImageView并从URL加载图像:(我的Swift Xcode7.1示例代码)
@IBOutlet弱var svgImageView: SVGKLayeredImageView!
如果让url = NSURL(string:"http://your-svg-file-url"){ if url.pathExtension!.lowercaseString == "svg“{ svgImageView.image = SVGKImage(contentsOfURL: url) } }
https://stackoverflow.com/questions/24135942
复制相似问题