From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001 From: 单军华 Date: Wed, 11 Jul 2018 10:47:42 +0800 Subject: [PATCH] 首次上传 --- screendisplay/Pods/YYText/YYText/Utility/UIView+YYText.m | 123 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-) diff --git a/screendisplay/Pods/YYText/YYText/Utility/UIView+YYText.m b/screendisplay/Pods/YYText/YYText/Utility/UIView+YYText.m new file mode 100755 index 0000000..f1c4c53 --- /dev/null +++ b/screendisplay/Pods/YYText/YYText/Utility/UIView+YYText.m @@ -0,0 +1,123 @@ +// +// UIView+YYText.m +// YYText <https://github.com/ibireme/YYText> +// +// Created by ibireme on 13/4/3. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "UIView+YYText.h" + +// Dummy class for category +@interface UIView_YYText : NSObject @end +@implementation UIView_YYText @end + + +@implementation UIView (YYText) + +- (UIViewController *)yy_viewController { + for (UIView *view = self; view; view = view.superview) { + UIResponder *nextResponder = [view nextResponder]; + if ([nextResponder isKindOfClass:[UIViewController class]]) { + return (UIViewController *)nextResponder; + } + } + return nil; +} + +- (CGFloat)yy_visibleAlpha { + if ([self isKindOfClass:[UIWindow class]]) { + if (self.hidden) return 0; + return self.alpha; + } + if (!self.window) return 0; + CGFloat alpha = 1; + UIView *v = self; + while (v) { + if (v.hidden) { + alpha = 0; + break; + } + alpha *= v.alpha; + v = v.superview; + } + return alpha; +} + +- (CGPoint)yy_convertPoint:(CGPoint)point toViewOrWindow:(UIView *)view { + if (!view) { + if ([self isKindOfClass:[UIWindow class]]) { + return [((UIWindow *)self) convertPoint:point toWindow:nil]; + } else { + return [self convertPoint:point toView:nil]; + } + } + + UIWindow *from = [self isKindOfClass:[UIWindow class]] ? (id)self : self.window; + UIWindow *to = [view isKindOfClass:[UIWindow class]] ? (id)view : view.window; + if ((!from || !to) || (from == to)) return [self convertPoint:point toView:view]; + point = [self convertPoint:point toView:from]; + point = [to convertPoint:point fromWindow:from]; + point = [view convertPoint:point fromView:to]; + return point; +} + +- (CGPoint)yy_convertPoint:(CGPoint)point fromViewOrWindow:(UIView *)view { + if (!view) { + if ([self isKindOfClass:[UIWindow class]]) { + return [((UIWindow *)self) convertPoint:point fromWindow:nil]; + } else { + return [self convertPoint:point fromView:nil]; + } + } + + UIWindow *from = [view isKindOfClass:[UIWindow class]] ? (id)view : view.window; + UIWindow *to = [self isKindOfClass:[UIWindow class]] ? (id)self : self.window; + if ((!from || !to) || (from == to)) return [self convertPoint:point fromView:view]; + point = [from convertPoint:point fromView:view]; + point = [to convertPoint:point fromWindow:from]; + point = [self convertPoint:point fromView:to]; + return point; +} + +- (CGRect)yy_convertRect:(CGRect)rect toViewOrWindow:(UIView *)view { + if (!view) { + if ([self isKindOfClass:[UIWindow class]]) { + return [((UIWindow *)self) convertRect:rect toWindow:nil]; + } else { + return [self convertRect:rect toView:nil]; + } + } + + UIWindow *from = [self isKindOfClass:[UIWindow class]] ? (id)self : self.window; + UIWindow *to = [view isKindOfClass:[UIWindow class]] ? (id)view : view.window; + if (!from || !to) return [self convertRect:rect toView:view]; + if (from == to) return [self convertRect:rect toView:view]; + rect = [self convertRect:rect toView:from]; + rect = [to convertRect:rect fromWindow:from]; + rect = [view convertRect:rect fromView:to]; + return rect; +} + +- (CGRect)yy_convertRect:(CGRect)rect fromViewOrWindow:(UIView *)view { + if (!view) { + if ([self isKindOfClass:[UIWindow class]]) { + return [((UIWindow *)self) convertRect:rect fromWindow:nil]; + } else { + return [self convertRect:rect fromView:nil]; + } + } + + UIWindow *from = [view isKindOfClass:[UIWindow class]] ? (id)view : view.window; + UIWindow *to = [self isKindOfClass:[UIWindow class]] ? (id)self : self.window; + if ((!from || !to) || (from == to)) return [self convertRect:rect fromView:view]; + rect = [from convertRect:rect fromView:view]; + rect = [to convertRect:rect fromWindow:from]; + rect = [self convertRect:rect fromView:to]; + return rect; +} + +@end \ No newline at end of file -- Gitblit v1.8.0