我有一个注册并登录视图控制器和移动的gif背景以及其他故事板UI元素。
目前我在每个视图控制器上都有gif编码,显然会使gif重新启动,因为我在每个视图控制器之间进行切换,而且更多关于在页面之间移动时加载之前快速弹出白色。
我可以将哪些内容添加到我的代码中: 1.隔离时防止白色砰砰声 2.使用gif顺畅地在视图控制器之间交换,就像没有发生任何事情一样,所以看起来你移动UI而不是页面。
查看Vine登录/注册以获取参考,因为它基本上以类似的方式运行,并希望背景gif在Vine上运行。
override func viewDidLoad() {
super.viewDidLoad()
let filePath = NSBundle.mainBundle().pathForResource("beachwater", ofType: "gif")
let gif = NSData(contentsOfFile: filePath!)
let webViewBG = UIWebView(frame: self.view.frame)
webViewBG.loadData(gif!, MIMEType: "image/gif", textEncodingName: "UTF-8", baseURL: NSURL(string: "")!)
webViewBG.userInteractionEnabled = false;
webViewBG.layer.zPosition = -3.0;
self.view.addSubview(webViewBG)
答案 0 :(得分:1)
作为起点,不要使用UIWebView
。这就是你在gif之前看到白色背景的原因,然后在渲染gif后不久就在网页上呈现了网页视图。
我建议使用以下技术之一分离出gif的帧并将它们加载到UIImage
(最后加载到UIImageView
)中:
animatedImageNamed:duration:
animatedImageWithImages:duration: