UIActivityIndicatorView是iOS開發中使用頻率極高的組件之一,大多都配合列表載入時使用。如:
可是在iOS6上,上面的用法第一次正常,第二次再次載入資料的時候竟然不顯示了:
oh,my lady gaga,這是為什麼呢?解決問題第一勢,google之,找到一篇兒文章:
Problems with iOS 6 and UIActivityIndicator in a UINavigationView
是問iOS6上UIActivityIndicatorView顯示不正常的問題,看來我不是第一個遇到這個問題的,而且問題還沒有回答,再看發帖時間,一天以前!難怪。看來這個問題從網路的途徑解決怕是有難度了,還是自已動手豐衣足食吧。隨手加了一個:
[activeView setHidesWhenStopped:NO];
e,竟然能顯示出來了,但是不轉,靜止的。難道現在UIActivityIndicator的形為變成了一旦不可見就停止轉動而且自動隱藏?於是用下面的辦法把UIActivityIndicator找出來,然後再給一個startAnimating的指令,你猜怎麼著?好使了!
for (UIView *_curView in cell.subviews) {
if ([_curView isKindOfClass:[UIActivityIndicatorView class]]) {
[(UIActivityIndicatorView *)_curView startAnimating];
break;
}
}
當然如果你覺得的上面的方法太複雜也可以用viewWithTag,前提是你建立UIActivityIndicatorView的時候,給它設定了tag:
UIActivityIndicatorView *_aiv = (UIActivityIndicatorView *)[cell viewWithTag:555];
[_aiv startAnimating];