发布于

  • 问题:

    项目的UITableViewCell中有Timer更新cell的进度条,而UITableView在滚动的时候这个动画就会静止,会引起一些问题(比如显示不准确)。

    这个问题困扰了我一阵子也是最近才想到可能的解决方案,查找了一些资料发现UIScrollView在滚动的时候run loop是UITrackingRunLoopMode
    ,原因在于UIScrollView在滚动的时候会block一切不在它自己的run loop mode对象。

  • 解决方案:

    将Timer加入到runloop中

    NSTimer *timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(sel) userInfo:nil repeats:YES];
    [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
    
  • 关于UITrackingRunLoopMode

The mode set while tracking in controls takes place. You can use this mode to add timers that fire during tracking.
Available in iOS 2.0 and later.

发布于

前一阵子调试项目发现控制台在某个页面每次都会输出这段话,差了一下发现是因为[UIImage imageNamed:name]中,图片名字为nil造成的。

解决方案:在出现错误的页面文件中搜索[UIImage imageNamed:,然后检查图片是否存在。

© 2008-2015 fanwenbin.com | Theme: 26
Powered by Wordpress