在iOS中,通常修改UIView.frame中的某一个值是非常痛苦的,因为Size和Origin都是readonly的,所以每次都需要进行如下繁琐的书写:
view.frame = CGRectMake(view.frame.origin.x, 100, view.frame.size.width, view.frame.size.height);
这种写法在UI较多的界面中,写的人非常痛苦,看的人也相当难受(可读性低)。
所以我们需要一个可以直接修改UIView.frame中某一个值的方法,这个方法我们可以给view添加一个category 来实现。
首先我们需要创建一个UIView的category,命名随意,需要在.h中暴露我们想要修改的属性:
#import <UIKit/UIKit.h>
@interface UIView (Layout)
@property (assign, nonatomic) CGPoint origin;
@property (assign, nonatomic) CGFloat x;
@property (assign, nonatomic) CGFloat y;
@property (assign, nonatomic) CGFloat centerX;
@property (assign, nonatomic) CGFloat centerY;
@property (assign, nonatomic) CGSize size;
@property (assign, nonatomic) CGFloat width;
@property (a