现象
创作的UIActivityIndicatorView,想当作一般的 View 使用,然后想隐藏时,把hidden属性设置为 YES;但是一直没有作用。
原因
UIActivityIndicatorView有一个属性hidesWhenStopped。它默认为YES(true)。建议用这个属性来隐藏UIActivityIndicatorView,因为在一些异步和通知回调中,hidden属性起不到作用,可以参考我写的 GitHub Demo.
// default is YES. calls -setHidden when animating gets set to NO
解决方案
设置indicatorView.hidesWhenStopped属性,使用startAnimating、stopAnimating方法来按钮 UIActivityIndicatorView 是否显示,这样不管什么情况下,都可以正常。
indicatorView.hidesWhenStopped = YES;
if (isShow) {
[self.loadingView startAnimating];
}
else{
[self.loadingView stopAnimating];
}
参考
- Hello World
- xcode6 - swift UIActivityIndicatorView .hidden = false not working - Stack Overflow
- ios - UIActivityIndicatorView hidden property is set to YES by default - Stack Overflow
- https://github.com/iHTCboy/UIActivityIndicatorViewDemo
注:本文首发于 iHTCboy's blog,如若转载,请注明来源。