現象
創作的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 ,如若轉載,請注明來源。