UILabel* label = [UILabel new];
[self.view addSubview:label];
label.backgroundColor = UIColor.redColor;
label.text = @"String...";
label.textColor = UIColor.orangeColor;
label.textAlignment = NSTextAlignmentCenter;
複製代碼
[UILabel xj_make:^(XJLabelMaker *make) {
make.addTo(self.view)
.backgroundColor(UIColor.redColor)
.text(@"String...")
.textColor(UIColor.orangeColor)
.textAlignment(NSTextAlignmentCenter);
}];
複製代碼
每一個屬性設置後都會返回對象自己,所以能夠一直使用.
來設置屬性。git
@property (nonatomic, copy, readonly) XJViewMaker* (^frame)(CGRect frame);
複製代碼
給UIView賦值後返回selfgithub
- (XJViewMaker* _Nonnull (^)(CGRect))frame {
return ^XJViewMaker* (CGRect frame) {
self.view1.frame = frame;
return self;
};
}
複製代碼
定義bash
@interface UIView (XJMaker)
+ (instancetype)xj_make:(void(^)(XJViewMaker* make))make;
@end
複製代碼
實現ui
@implementation UIView (XJMaker)
+ (instancetype)xj_make:(void (^)(XJViewMaker* ))make {
XJViewMaker* maker = [[XJViewMaker alloc] initView];
if (make) {
make(maker);
}
return maker.view1;
}
@end
複製代碼
下載項目後,把XJViewMaker文件夾拖到你的工程中,導入頭文件便可使用:spa
#import "XJViewMakerHeader.h"
複製代碼
若是缺乏屬性,可參照其餘屬性自行添加。code
本文參考瞭如下文章,感謝做者提供的思路:對象