From 3e8437ae559487362fae3525beb79c534c213a51 Mon Sep 17 00:00:00 2001 From: 单军华 Date: Thu, 12 Jul 2018 13:44:34 +0800 Subject: [PATCH] bug修复和功能优化 --- screendisplay/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.m | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 0 deletions(-) diff --git a/screendisplay/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.m b/screendisplay/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.m new file mode 100644 index 0000000..39153d0 --- /dev/null +++ b/screendisplay/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.m @@ -0,0 +1,71 @@ +// +// IQNSArray+Sort.m +// https://github.com/hackiftekhar/IQKeyboardManager +// Copyright (c) 2013-16 Iftekhar Qurashi. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#import "IQNSArray+Sort.h" +#import "IQUIView+Hierarchy.h" + +#import <UIKit/UIView.h> + +@implementation NSArray (IQ_NSArray_Sort) + +- (NSArray*)sortedArrayByTag +{ + return [self sortedArrayUsingComparator:^NSComparisonResult(UIView *view1, UIView *view2) { + + if ([view1 respondsToSelector:@selector(tag)] && [view2 respondsToSelector:@selector(tag)]) + { + if ([view1 tag] < [view2 tag]) return NSOrderedAscending; + + else if ([view1 tag] > [view2 tag]) return NSOrderedDescending; + + else return NSOrderedSame; + } + else + return NSOrderedSame; + }]; +} + +- (NSArray*)sortedArrayByPosition +{ + return [self sortedArrayUsingComparator:^NSComparisonResult(UIView *view1, UIView *view2) { + + CGFloat x1 = CGRectGetMinX(view1.frame); + CGFloat y1 = CGRectGetMinY(view1.frame); + CGFloat x2 = CGRectGetMinX(view2.frame); + CGFloat y2 = CGRectGetMinY(view2.frame); + + if (y1 < y2) return NSOrderedAscending; + + else if (y1 > y2) return NSOrderedDescending; + + //Else both y are same so checking for x positions + else if (x1 < x2) return NSOrderedAscending; + + else if (x1 > x2) return NSOrderedDescending; + + else return NSOrderedSame; + }]; +} + + +@end -- Gitblit v1.8.0