如何在swift UIWebView中重新加载gif

如何在swift UIWebView中重新加载gif,swift,uiwebview,Swift,Uiwebview,/*我试图在swift中重新加载UIwebView中的gif,但我不知道如何在连续循环中重新加载gif。加载请求不起作用,甚至无法重新加载()*/ 让 您可以使用NSTimer进行类似操作,如下代码所示: myTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("myPerformeCode:"), userInfo: nil, repeats: true) 辅助方法为: func

/*我试图在swift中重新加载
UIwebView
中的gif,但我不知道如何在连续循环中重新加载gif。加载请求不起作用,甚至无法重新加载()*/


您可以使用
NSTimer
进行类似操作,如下代码所示:

myTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("myPerformeCode:"), userInfo: nil, repeats: true)
辅助方法为:

func myPerformeCode(timer : NSTimer) {

    count++

    if count < totalCount {
        let filePath = NSBundle.mainBundle().pathForResource("\(count)", ofType: "gif")
        let gif = NSData(contentsOfFile: filePath!)
        self.webView.loadData(gif!, MIMEType: "image/gif",textEncodingName: String(), baseURL: NSURL())
        self.webView.userInteractionEnabled = false
    } else {
        count = 1
    }
}
func myPerformeCode(计时器:NSTimer){
计数++
如果计数<总计数{
让filePath=NSBundle.mainBundle().pathForResource(“\(count)”,类型为:“gif”)
让gif=NSData(contentsOfFile:filePath!)
self.webView.loadData(gif!,MIMEType:“image/gif”,textcodengname:String(),baseURL:NSURL())
self.webView.userInteractionEnabled=false
}否则{
计数=1
}
}
完整代码:

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var webView: UIWebView!
    let totalCount = 61
    var count = 1
    var myTimer = NSTimer()
    override func viewDidLoad() {
        super.viewDidLoad()

    }

    @IBAction func start(sender: AnyObject) {

        myTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("myPerformeCode:"), userInfo: nil, repeats: true)
    }

    func myPerformeCode(timer : NSTimer) {

        print("Called")
        count++

        if count < totalCount {
            let filePath = NSBundle.mainBundle().pathForResource("\(count)", ofType: "gif")
            let gif = NSData(contentsOfFile: filePath!)
            self.webView.loadData(gif!, MIMEType: "image/gif",textEncodingName: String(), baseURL: NSURL())
            self.webView.userInteractionEnabled = false
        } else {
            count = 1
        }
    }
}
导入UIKit
类ViewController:UIViewController{
@ibvar-webView:UIWebView!
让totalCount=61
变量计数=1
var myTimer=NSTimer()
重写func viewDidLoad(){
super.viewDidLoad()
}
@iAction func启动(发送方:AnyObject){
myTimer=NSTimer.scheduledTimerWithTimeInterval(1,目标:self,选择器:selector(“myPerformeCode:”),userInfo:nil,repeats:true)
}
func myPerformeCode(计时器:NSTimer){
印刷品(“被称为”)
计数++
如果计数<总计数{
让filePath=NSBundle.mainBundle().pathForResource(“\(count)”,类型为:“gif”)
让gif=NSData(contentsOfFile:filePath!)
self.webView.loadData(gif!,MIMEType:“image/gif”,textcodengname:String(),baseURL:NSURL())
self.webView.userInteractionEnabled=false
}否则{
计数=1
}
}
}
结果:


此后,您可以在每次切换视图时使用<代码> MyTime.ValueAdvId()/代码>删除定时器。

如果您的目的只是显示GIF图像,请考虑使用FLIMATEMADIGE。
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var webView: UIWebView!
    let totalCount = 61
    var count = 1
    var myTimer = NSTimer()
    override func viewDidLoad() {
        super.viewDidLoad()

    }

    @IBAction func start(sender: AnyObject) {

        myTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("myPerformeCode:"), userInfo: nil, repeats: true)
    }

    func myPerformeCode(timer : NSTimer) {

        print("Called")
        count++

        if count < totalCount {
            let filePath = NSBundle.mainBundle().pathForResource("\(count)", ofType: "gif")
            let gif = NSData(contentsOfFile: filePath!)
            self.webView.loadData(gif!, MIMEType: "image/gif",textEncodingName: String(), baseURL: NSURL())
            self.webView.userInteractionEnabled = false
        } else {
            count = 1
        }
    }
}