如何在我的iOS应用中像Viber一样播放SVG动画贴纸?
如果您不熟悉Viber,可以在此链接中查看Viber应用程序中的SVG动画贴纸示例:
http://www.tbyrne.org/viber-animated-svgs
注意:我使用Xamarin框架在C#中开发我的应用程序,但任何本机(Swift,Objective-C)解决方案也都很好。
谢谢
答案 0 :(得分:2)
注意:您链接的网站已关闭/没有响应,因此我不知道这些SVG文件是什么样的
最快的方法是将UIWebView
嵌入到您的应用中,然后您可以加载本地(资源嵌入式)或远程SVG。它们可以用html包装并使用基于JavaScript的动画技术,CSS动画或基于SVG / SMIL的动画:
WebView.LoadRequest(new NSUrlRequest(new NSUrl("https://imgh.us/LoveDota.svg")));
根据您的应用程序要求和您正在使用的SVG,这将是包含动画SVG的最快方式。将UIWebView
嵌入到任何视图和/或控件的子视图中的功能非常有效。由于您可以访问DOM,因此您可以动态操作SVG。
我建议将SVG内容包装在html文件中,这样您就可以控制缩放,将Javascript事件回调添加到您的应用中等等......
注意:如果您需要快速测试内容并使其适合UIWebView
设置ScalesPageToFit
属性:
WebView.ScalesPageToFit = true;
“慢”,需要编码:-),方法是通过sharpie绑定项目使用伟大的SVGKit项目。它不directly
支持SVG动画,但取决于您用于SVG动画开发的工具集,导出SVG并使用SVGKit输出一系列CoreAnimation层是惊人的,并得到你远离使用WebKit
(及其SVG交互式DOM事件怪癖)。
SpriteKit
示例之上的动画SVG进度条: