From 3e8437ae559487362fae3525beb79c534c213a51 Mon Sep 17 00:00:00 2001 From: 单军华 Date: Thu, 12 Jul 2018 13:44:34 +0800 Subject: [PATCH] bug修复和功能优化 --- screendisplay/Pods/KILabel/KILabel/Source/KILabel.h | 199 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 199 insertions(+), 0 deletions(-) diff --git a/screendisplay/Pods/KILabel/KILabel/Source/KILabel.h b/screendisplay/Pods/KILabel/KILabel/Source/KILabel.h new file mode 100755 index 0000000..74c6cc6 --- /dev/null +++ b/screendisplay/Pods/KILabel/KILabel/Source/KILabel.h @@ -0,0 +1,199 @@ +/*********************************************************************************** + * + * The MIT License (MIT) + * + * Copyright (c) 2013 Matthew Styles + * + * 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 <UIKit/UIKit.h> + +NS_ASSUME_NONNULL_BEGIN + +/** + * Constants for identifying link types we can detect + */ +typedef NS_ENUM(NSUInteger, KILinkType) +{ + /** + * Usernames starting with "@" token + */ + KILinkTypeUserHandle, + + /** + * Hashtags starting with "#" token + */ + KILinkTypeHashtag, + + /** + * URLs, http etc + */ + KILinkTypeURL, +}; + +/** + * Flags for specifying combinations of link types as a bitmask + */ +typedef NS_OPTIONS(NSUInteger, KILinkTypeOption) +{ + /** + * No links + */ + KILinkTypeOptionNone = 0, + + /** + * Specifies to include KILinkTypeUserHandle links + */ + KILinkTypeOptionUserHandle = 1 << KILinkTypeUserHandle, + + /** + * Specifies to include KILinkTypeHashtag links + */ + KILinkTypeOptionHashtag = 1 << KILinkTypeHashtag, + + /** + * Specifies to include KILinkTypeURL links + */ + KILinkTypeOptionURL = 1 << KILinkTypeURL, + + /** + * Convenience contstant to include all link types + */ + KILinkTypeOptionAll = NSUIntegerMax, +}; + + +@class KILabel; + +/** + * Type for block that is called when a link is tapped + * + * @param label The KILabel in which the tap took place + * @param string Content of the link that was tapped, includes @ or # tokens + * @param range The range of the string within the label's text + */ +typedef void (^KILinkTapHandler)(KILabel *label, NSString *string, NSRange range); + +extern NSString * const KILabelLinkTypeKey; +extern NSString * const KILabelRangeKey; +extern NSString * const KILabelLinkKey; + +/** + * A UILabel subclass that highlights links, hashtags and usernames and enables response to user + * interactions with those links. + **/ +IB_DESIGNABLE +@interface KILabel : UILabel <NSLayoutManagerDelegate> + +/** ****************************************************************************************** ** + * @name Setting the link detector + ** ****************************************************************************************** **/ + +/** + * Enable/disable automatic detection of links, hashtags and usernames. + */ +@property (nonatomic, assign, getter = isAutomaticLinkDetectionEnabled) IBInspectable BOOL automaticLinkDetectionEnabled; + +/** + * Specifies the combination of link types to detect. Default value is KILinkTypeAll. + */ +@property (nonatomic, assign) IBInspectable KILinkTypeOption linkDetectionTypes; + +/** + * Set containing words to be ignored as links, hashtags or usernames. + * + * @discussion The comparison between the matches and the ignored words is case insensitive. + */ +@property (nullable, nonatomic, strong) NSSet *ignoredKeywords; + +/** ****************************************************************************************** ** + * @name Format & Appearance + ** ****************************************************************************************** **/ + +/** + * The color used to highlight selected link background. + * + * @discussion The default value is (0.95, 0.95, 0.95, 1.0). + */ +@property (nullable, nonatomic, copy) IBInspectable UIColor *selectedLinkBackgroundColor; + +/** + * Flag sets if the sytem appearance for URLs should be used (underlined + blue color). Default value is NO. + */ +@property (nonatomic, assign) IBInspectable BOOL systemURLStyle; + +/** + * Get the current attributes for the given link type. + * + * @param linkType The link type to get the attributes. + * @return A dictionary of text attributes. + * @discussion Default attributes contain colored font using the tintColor color property. + */ +- (nullable NSDictionary*)attributesForLinkType:(KILinkType)linkType; + +/** + * Set the text attributes for each link type. + * + * @param attributes The text attributes. + * @param linkType The link type. + * @discussion Default attributes contain colored font using the tintColor color property. + */ +- (void)setAttributes:(nullable NSDictionary*)attributes forLinkType:(KILinkType)linkType; + +/** ****************************************************************************************** ** + * @name Callbacks + ** ****************************************************************************************** **/ + +/** + * Callback block for KILinkTypeUserHandle link tap. + **/ +@property (nullable, nonatomic, copy) KILinkTapHandler userHandleLinkTapHandler; + +/** + * Callback block for KILinkTypeHashtag link tap. + */ +@property (nullable, nonatomic, copy) KILinkTapHandler hashtagLinkTapHandler; + +/** + * Callback block for KILinkTypeURL link tap. + */ +@property (nullable, nonatomic, copy) KILinkTapHandler urlLinkTapHandler; + +/** ****************************************************************************************** ** + * @name Geometry + ** ****************************************************************************************** **/ + +/** + * Returns a dictionary of data about the link that it at the location. Returns nil if there is no link. + * + * A link dictionary contains the following keys: + * + * - **KILabelLinkTypeKey**, a TDLinkType that identifies the type of link. + * - **KILabelRangeKey**, the range of the link within the label text. + * - **KILabelLinkKey**, the link text. This could be an URL, handle or hashtag depending on the linkType value. + * + * @param point The point in the coordinates of the label view. + * @return A dictionary containing the link. + */ +- (nullable NSDictionary*)linkAtPoint:(CGPoint)point; + +@end + +NS_ASSUME_NONNULL_END -- Gitblit v1.8.0