text: //
  //  UIView+Utils.h
  //  KDCommonKit
  //
  //  Created by Ketil on 16/11/13.
  //  Copyright © 2016年 fumi. All rights reserved.
  //
  
  #import <UIKit/UIKit.h>
  
  @interface UIView (Utils)
  
  /**
   * Shortcut for frame.origin.x.
   *
   * Sets frame.origin.x = left
   */
  @property (nonatomic) CGFloat left;
  
  /**
   * Shortcut for frame.origin.y
   *
   * Sets frame.origin.y = top
   */
  @property (nonatomic) CGFloat top;
  
  /**
   * Shortcut for frame.origin.x + frame.size.width
   *
   * Sets frame.origin.x = right - frame.size.width
   */
  @property (nonatomic) CGFloat right;
  
  /**
   * Shortcut for frame.origin.y + frame.size.height
   *
   * Sets frame.origin.y = bottom - frame.size.height
   */
  @property (nonatomic) CGFloat bottom;
  
  /**
   * Shortcut for frame.size.width
   *
   * Sets frame.size.width = width
   */
  @property (nonatomic) CGFloat width;
  
  /**
   * Shortcut for frame.size.height
   *
   * Sets frame.size.height = height
   */
  @property (nonatomic) CGFloat height;
  
  /**
   * Shortcut for center.x
   *
   * Sets center.x = centerX
   */
  @property (nonatomic) CGFloat centerX;
  
  /**
   * Shortcut for center.y
   *
   * Sets center.y = centerY
   */
  @property (nonatomic) CGFloat centerY;
  
  /**
   * Return the x coordinate on the screen.
   */
  @property (nonatomic, readonly) CGFloat screenX;
  
  /**
   * Return the y coordinate on the screen.
   */
  @property (nonatomic, readonly) CGFloat screenY;
  
  /**
   * Return the x coordinate on the screen, taking into account scroll views.
   */
  @property (nonatomic, readonly) CGFloat screenViewX;
  
  /**
   * Return the y coordinate on the screen, taking into account scroll views.
   */
  @property (nonatomic, readonly) CGFloat screenViewY;
  
  /**
   * Return the view frame on the screen, taking into account scroll views.
   */
  @property (nonatomic, readonly) CGRect screenFrame;
  
  /**
   * Shortcut for frame.origin
   */
  @property (nonatomic) CGPoint origin;
  
  /**
   * Shortcut for frame.size
   */
  @property (nonatomic) CGSize size;
  
  /**
   * Return the width in portrait or the height in landscape.
   */
  @property (nonatomic, readonly) CGFloat orientationWidth;
  
  /**
   * Return the height in portrait or the width in landscape.
   */
  @property (nonatomic, readonly) CGFloat orientationHeight;
  
  /**
   * Finds the first descendant view (including this view) that is a member of a particular class.
   */
  - (UIView*)descendantOrSelfWithClass:(Class)cls;
  
  /**
   * Finds the first ancestor view (including this view) that is a member of a particular class.
   */
  - (UIView*)ancestorOrSelfWithClass:(Class)cls;
  
  /**
   * Exclusive all the buttons in view
   */
  -(void)exclusiveTouchForAllButtons;
  
  /**
   * Removes all subviews.
   */
  - (void)removeAllSubviews;
  
  /**
   Attaches the given block for a single tap action to the receiver.
   @param block The block to execute.
   */
  - (void)setTapActionWithBlock:(void (^)(void))block;
  
  /**
   Attaches the given block for a long press action to the receiver.
   @param block The block to execute.
   */
  - (void)setLongPressActionWithBlock:(void (^)(void))block;
  
  @end
  