一、滑动视图timer停止工作
[[NSRunLoopcurrentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
滑动时timer的状态:
NSDefaultRunLoopMode->UITrackingRunLoopMode->NSDefaultRunLoopMode
这边顺便记录一下runloopModel的状态:
1、NSDefaultRunLoopMode
默认状态(空闲状态),比如点击按钮都是这个状态
2、UITrackingRunLoopMode
滑动时的Mode。比如滑动UIScrollView时。
3、UIInitializationRunLoopMode
私有的,APP启动时。就是从iphone桌面点击APP的图标进入APP到第一个界面展示之前,在第一个界面显示出来后,UIInitializationRunLoopMode就被切换成了NSDefaultRunLoopMode。
4、NSRunLoopCommonModes
它是NSDefaultRunLoopMode和UITrackingRunLoopMode的集合。结构类似于一个数组。在这个mode下执行其实就是两个mode都能执行而已。
2、tableView滑动时cell就不会去设置图片
//在cell里面把设置图片的事情在NSDefaultRunloopMode里面去做。
//当主线程的tableview不再滑动的时候就会去设置图片
UIImage*dowloadImage = [UIImage ImageWithName:@"我滴图片嘿"];
[self.iconImageView performSelector:@selector(setImage:) withObject:dowloadImage afterDelay:0inModes:@[NSDefaultRunloopMode]];
网友评论