在导航到下一个VC之前,我会对用户数据进行简单检查。
问题:没有ActivityIndicator显示1到15秒的计数。
如何解决这类问题?非常感谢您的帮助。
// VC(1) -- > VC(2)
// use BtnGo in VC(1) Control-drag to VC(2)
// Name the Segue : SegueToVC2
// when BtnGo is click, I will do simple validation.
//-- do validation
override fun shouldPerformSegueWithIdentifier(identifier: String?, sender: AnyObject?)-> bool
{
activityIndicator.hidden = false (A)
if identifier == "SegueToVC2" {
// check user input
if username.isEmpty {
return false
}else {
return true
}
}
return true
}
在prepareForSegue
:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
disptach_async(dispatch_get_main_queue() {
self.activityIndicator.startAnimating() (B)
}
if (segue.Identifier == "SegueToVC2) {
// goto VC(2) (c)
}
activityIndicator.stopAnimating() (D)
}
答案 0 :(得分:0)
您应该使用hideWhenStopped
上的属性UIActivityIndicatorView
而不是隐藏的property
:当您致电self.activityIndicator.startAnimating()
时会显示该属性,并且当您致电self.activityIndicator.stopAnimating()
时会显示该属性{1}}
另外,在您的计算/请求完成后,您应该在self.activityIndicator.startAnimating()
内拨打shouldPerformSegueWithIdentifier
并将其隐藏在prepareForSegue
中。
如果问题仍然存在,请尝试使用performSelectorOnMainThread
来显示您的UIActivityIndicatorView