// // UIView+YYAdd.h // YYCategories // // 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 /** Provides extensions for `UIView`. */ @interface UIView (YYAdd) /** Shortcut to set the view.layer's shadow @param color Shadow Color @param offset Shadow offset @param radius Shadow radius */ - (void)setLayerShadow:(UIColor*)color offset:(CGSize)offset radius:(CGFloat)radius; /** Remove all subviews. @warning Never call this method inside your view's drawRect: method. */ - (void)removeAllSubviews; /** Returns the view's view controller (may be nil). */ @property (nonatomic, readonly) UIViewController *viewController; @property (nonatomic) CGFloat left; ///< Shortcut for frame.origin.x. @property (nonatomic) CGFloat top; ///< Shortcut for frame.origin.y @property (nonatomic) CGFloat right; ///< Shortcut for frame.origin.x + frame.size.width @property (nonatomic) CGFloat bottom; ///< Shortcut for frame.origin.y + frame.size.height @property (nonatomic) CGFloat width; ///< Shortcut for frame.size.width. @property (nonatomic) CGFloat height; ///< Shortcut for frame.size.height. @property (nonatomic) CGFloat centerX; ///< Shortcut for center.x @property (nonatomic) CGFloat centerY; ///< Shortcut for center.y @property (nonatomic) CGPoint origin; ///< Shortcut for frame.origin. @property (nonatomic) CGSize size; ///< Shortcut for frame.size. @end float YYDeviceSystemVersion(); #ifndef kSystemVersion #define kSystemVersion YYDeviceSystemVersion() #endif #ifndef kiOS6Later #define kiOS6Later (kSystemVersion >= 6) #endif #ifndef kiOS7Later #define kiOS7Later (kSystemVersion >= 7) #endif #ifndef kiOS8Later #define kiOS8Later (kSystemVersion >= 8) #endif #ifndef kiOS9Later #define kiOS9Later (kSystemVersion >= 9) #endif CGSize YYDeviceScreenSize(); /// 屏幕宽度 #ifndef kScreenWidth #define kScreenWidth YYDeviceScreenSize().width #endif /// 屏幕高度 #ifndef kScreenHeight #define kScreenHeight YYDeviceScreenSize().height #endif /// 屏幕大小 #ifndef kScreenSize #define kScreenSize YYDeviceScreenSize() #endif /// 屏幕Scale #ifndef kScreenScale #define kScreenScale [UIScreen mainScreen].scale #endif /* Create UIColor with a hex string. Example: UIColorHex(0xF0F), UIColorHex(66ccff), UIColorHex(#66CCFF88) Valid format: #RGB #RGBA #RRGGBB #RRGGBBAA 0xRGB ... The `#` or "0x" sign is not required. */ #ifndef UIColorHex #define UIColorHex(_hex_) [UIColor colorWithHexString:((__bridge NSString *)CFSTR(#_hex_))] #endif @interface UIColor (YYAdd) /** Creates and returns a color object from hex string. @discussion: Valid format: #RGB #RGBA #RRGGBB #RRGGBBAA 0xRGB ... The `#` or "0x" sign is not required. The alpha will be set to 1.0 if there is no alpha component. It will return nil when an error occurs in parsing. Example: @"0xF0F", @"66ccff", @"#66CCFF88" @param hexStr The hex string value for the new color. @return An UIColor object from string, or nil if an error occurs. */ + (UIColor *)colorWithHexString:(NSString *)hexStr; /** Creates and returns a color object by add new color. @param add the color added @param blendMode add color blend mode */ - (UIColor *)colorByAddColor:(UIColor *)add blendMode:(CGBlendMode)blendMode; @end