From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001
From: 单军华
Date: Wed, 11 Jul 2018 10:47:42 +0800
Subject: [PATCH] 首次上传

---
 screendisplay/screendisplay/Classes/Helpers/YYFPSLabel.m |   99 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 99 insertions(+), 0 deletions(-)

diff --git a/screendisplay/screendisplay/Classes/Helpers/YYFPSLabel.m b/screendisplay/screendisplay/Classes/Helpers/YYFPSLabel.m
new file mode 100755
index 0000000..fd14c9f
--- /dev/null
+++ b/screendisplay/screendisplay/Classes/Helpers/YYFPSLabel.m
@@ -0,0 +1,99 @@
+//
+//  YYFPSLabel.m
+//  YYKitExample
+//
+//  Created by ibireme on 15/9/3.
+//  Copyright (c) 2015 ibireme. All rights reserved.
+//
+
+#import "YYFPSLabel.h"
+
+#define kSize CGSizeMake(55, 20)
+
+@implementation YYFPSLabel {
+    CADisplayLink *_link;
+    NSUInteger _count;
+    NSTimeInterval _lastTime;
+    UIFont *_font;
+    UIFont *_subFont;
+    NSTimeInterval _llll;
+}
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    if (frame.size.width == 0 && frame.size.height == 0) {
+        frame.size = kSize;
+    }
+    self = [super initWithFrame:frame];
+    
+    self.layer.cornerRadius = 5;
+    self.clipsToBounds = YES;
+    self.textAlignment = NSTextAlignmentCenter;
+    self.userInteractionEnabled = YES;
+    self.backgroundColor = [UIColor colorWithWhite:0.000 alpha:0.700];
+    
+    _font = [UIFont fontWithName:@"Menlo" size:14];
+    if (_font) {
+        _subFont = [UIFont fontWithName:@"Menlo" size:4];
+    } else {
+        _font = [UIFont fontWithName:@"Courier" size:14];
+        _subFont = [UIFont fontWithName:@"Courier" size:4];
+    }
+    
+    __weak typeof(self) weakSelf = self;
+    _link = [CADisplayLink displayLinkWithTarget:weakSelf selector:@selector(tick:)];
+    [_link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
+    
+    [self addGestureRecognizer:[[UIPanGestureRecognizer alloc] initWithActionBlock:^(UIPanGestureRecognizer  *_Nonnull sender) {
+
+        // ���������������������������������������������������������
+        CGPoint transP = [sender translationInView:weakSelf];
+        
+        weakSelf.transform = CGAffineTransformTranslate(weakSelf.transform, transP.x, transP.y);
+        
+        // ������
+        [sender setTranslation:CGPointZero inView:weakSelf];
+        
+        if (sender.state == UIGestureRecognizerStateEnded) {
+            
+            [UIView animateWithDuration:0.2 animations:^{
+                weakSelf.lmj_x = (weakSelf.lmj_x - kScreenWidth * 0.5) > 0 ? (kScreenWidth - weakSelf.lmj_width - 20) : 20;
+                weakSelf.lmj_y = weakSelf.lmj_y > 80 ? weakSelf.lmj_y : 80;
+            }];
+        }
+        
+    }]];
+    
+    return self;
+}
+
+- (void)dealloc {
+    [_link invalidate];
+    _link = nil;
+}
+
+- (void)tick:(CADisplayLink *)link {
+    if (_lastTime == 0) {
+        _lastTime = link.timestamp;
+        return;
+    }
+    _count++;
+    NSTimeInterval delta = link.timestamp - _lastTime;
+    if (delta < 1) return;
+    _lastTime = link.timestamp;
+    CGFloat fps = _count / delta;
+    _count = 0;
+    
+    CGFloat progress = fps / 60.0;
+    UIColor *color = [UIColor colorWithHue:0.27 * (progress - 0.2) saturation:1 brightness:0.9 alpha:1];
+    
+    NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%zd FPS",(int)round(fps)]];
+
+    [text yy_setColor:color range:NSMakeRange(0, text.length - 3)];
+    [text yy_setColor:[UIColor whiteColor] range:NSMakeRange(text.length - 3, 3)];
+    text.yy_font = _font;
+    [text yy_setFont:_subFont range:NSMakeRange(text.length - 4, 1)];
+    
+    self.attributedText = text;
+}
+
+@end

--
Gitblit v1.8.0