4 uiactivityindicatorview swift xcode6 xcode6-beta7
我按一下按钮就会显示一个活动指示器视图,但它不想显示.如果我没有将它设置为隐藏,它会显示,当我尝试隐藏它时,它会隐藏.但如果它被隐藏,它将不再显示.
这是代码:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
loading.hidden = true
}
@IBAction func submit() {
loading.hidden = false
loading.startAnimating()
if chosenCategory == "" || txtName.text == "" || txtEmail.text == "" {
loading.stopAnimating()
loading.hidden = true
} else {
println("animation")
Run Code Online (Sandbox Code Playgroud)
无论如何,停止动画都有效,它可以隐藏,但无论我做什么,它似乎都跳过了loading.hidden = false直接打印消息.
可能会发生什么?
Dan*_*oss 14
我建议不要使用.hidden属性.请改用.hidesWhenStopped属性并将其设置为true.然后只需调用.startAnimating()方法,UIActivityIndicatorView将自动变为可见并将进行动画制作.调用.stopAnimating()方法,UIActivityIndicatorView将自动隐藏.
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
loading.hidesWhenStopped = true //this is all you need to change
}
@IBAction func submit() {
loading.startAnimating() // becomes visible
if chosenCategory == "" || txtName.text == "" || txtEmail.text == "" {
loading.stopAnimating() // goes into hiding
} else {
println("animation")
Run Code Online (Sandbox Code Playgroud)
使用GCD(Grand Central Dispatch)例程:
self.activityIndicator.startAnimating()
self.activityIndicator.hidden = false
dispatch_after(DISPATCH_TIME_NOW, dispatch_get_main_queue(), { ()->() in
... // your long running code here
self.activityIndicator.stopAnimating()
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11264 次 |
| 最近记录: |