【发布时间】:2015-06-06 17:54:06
【问题描述】:
我正在尝试在我的应用程序中向用户显示活动指示器视图,同时将 url 加载到 WebView 中。我尝试过使用 activity.startAnimating/activity.stopAnimating 并尝试将它们放在函数等中,但没有任何运气。
我能得到的最好的结果是活动指示器显示和动画,但一旦我的 url 加载后就不会停止动画或隐藏,因此它会继续在网页顶部旋转。
在其他情况下,在尝试移动 activity.startAnimating 时,我遇到了“线程 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)”问题。我在属性检查器中检查了“停止时隐藏”,我知道我的 url 是有效的,并且我已经为 Interface Builder Elements 创建了 IBOutlets。
忍受我;我对 Swift 比较陌生。这是我的代码:
class HighchartsController: UIViewController {
@IBOutlet weak var HighchartsView: UIWebView!
@IBOutlet weak var activity: UIActivityIndicatorView!
@IBOutlet weak var saveButton: UIBarButtonItem!
@IBOutlet weak var highchartsMenu: UIBarButtonItem!
override func viewDidLoad()
{
super.viewDidLoad()
if self.revealViewController() != nil {
highchartsMenu.target = self.revealViewController()
highchartsMenu.action = "revealToggle:"
loadAddress()
}
}
func loadAddress() {
let url = NSURL (string: "http://google.com/flights")
let request = NSURLRequest (URL: url!)
HighchartsView.loadRequest(request)
println("Webpage Loaded Successfully")
}
}
我尝试过使用不同的功能,例如
webViewDidStartLoad(_ :UIWebView){
activity.startAnimating()
NSLog("Webview load has started")
}
webViewDidFinishLoad(_ :UIWebView){
activity.stopAnimating()
NSLog("Webview load had finished")
}
【问题讨论】:
标签: swift uiwebview progress uiactivityindicatorview