如何在swift UIWebView中重新加载gif
/*我试图在swift中重新加载如何在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
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
}
}
}