旧工程适配iOS6和iPhone5续之UIActivityIndicatorView

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];

相关文章:
关于iOS6模拟器两个新发现
旧工程适配iOS6和iPhone5的一些故事
旧工程适配iOS6和iPhone5续之第三方静态库
关于iOS模拟器没有Home键的一些新认识


相关博文

    分享到:

About rainbird

IOS攻城狮
This entry was posted in IOS开发 and tagged , , , , . Bookmark the permalink.

发表评论