YYFPSLabel 的使用(检测tableView的流畅度)
2017-05-24 本文已影响696人
MonStar丶
tableView是iOS中使用最多的控件之一,所以优化tableView也是iOS开发必做的一件事情。想要知道列表的流畅度,只靠肉眼来判断还是不能深入知道列表的流畅度处于一个什么阶段。所以,我们可以借助一些工具来查看列表滑动时细微的帧数变化,而YYFPSLabel就是一个使用简单,结果易见的工具。
这是我在项目中使用的情况:
YYFPSLabel.PNG下面我们就看看怎么使用YYFPSLabel
1.YYFPSLabel 主要有两个文件 ,一是:YYFPSLabel 二是:YYWeakProxy
2.这两个文件可以从YYKit中找到,如果你的项目中没有使用到YYKit或者YYText的话,直接从YYKIt里面拿出来肯定是会报错的,为了给大家提供便利,我已经将这两个文件抽出来了,并且处理了报错的地方,大家可以直接从百度云下载这两个文件,拖进项目中就可以使用了 。 下载地址:下载地址 提取码:kneh
3.在viewDidLoad方法里面 添加代码(初始化label,并添加到view上)
_fpsLabel = [YYFPSLabel new];
[_fpsLabel sizeToFit];
_fpsLabel.frame = CGRectMake(80, 200, 80, 20);
_fpsLabel.alpha = 0;
_fpsLabel.textColor = [UIColor whiteColor];
[self.view addSubview:_fpsLabel];
4.在scrollview的代理方法里面改变FPSLabel的透明度
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
if (_fpsLabel.alpha == 0) {
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
_fpsLabel.alpha = 1;
} completion:NULL];
}
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
if (!decelerate) {
if (_fpsLabel.alpha != 0) {
[UIView animateWithDuration:1 delay:2 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
_fpsLabel.alpha = 0;
} completion:NULL];
}
}
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
if (_fpsLabel.alpha != 0) {
[UIView animateWithDuration:1 delay:2 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
_fpsLabel.alpha = 0;
} completion:NULL];
}
}
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView {
if (_fpsLabel.alpha == 0) {
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
_fpsLabel.alpha = 1;
} completion:^(BOOL finished) {
}];
}
}
到此,YYFPSLabel就就添加完成了,使用起来还是非常简便的,非常感谢YYKit的作者为我们提供的便利。