喜欢用尽量少的代码完成想要的操作,追求一行代码解决问题的境界。
参考第三方框架Masonry
编程思想,写的一个UIView的分类。
github地址:https://github.com/xjh093/UIView-JHCategory
Talk is cheap, show me the code.
view:
UIView *view = [[UIView alloc] init];
view.jh_addToView(self.view).jh_frame(@"[x:200,y:40,w:50,h:30]").jh_bgColor([UIColor redColor]).jh_bdWidth(@(2)).jh_bdColor([UIColor blueColor]).jh_cnRadius(@(5)).jh_mtBounds(@(NO)).jh_tag(@(5));
label:
UILabel *label = [[UILabel alloc] init];
label.jh_addToView(self.view).jh_frame(@"[x:20,y:40,w:150,h:30]").jh_text(@"标签标签标签标签标签标签").jh_color(@"0xa2s3f4").jh_font(@"s15").jh_bgColor(@"0xb1d10a").jh_align(@(1)).jh_adjust(@(YES)).jh_lines(@(0)).jh_bdWidth(@(1)).jh_bdColor([UIColor blueColor]).jh_cnRadius(@(5)).jh_mtBounds(@(YES)).jh_tag(@(5));
button:
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
button.jh_addToView(self.view).jh_frame(@"[x:20,y:80,w:150,h:30]").jh_title(@"这是一个按钮").jh_color(@"0x1a2b3c").jh_bgColor(@"0xa1b2c3").jh_cnRadius(@(5)).jh_font(@"s17").jh_target_selector_event(self,@"jhButton",@(UIControlEventTouchUpInside));
scrollView:
UIScrollView *scrollView = [[UIScrollView alloc] init];
scrollView.jh_addToView(self.view).jh_frame(@"[x:20,y:120,w:150,h:30]").jh_contentSize(@"[x:200,y:0]").jh_bgColor([UIColor brownColor]).jh_bdWidth(@(2)).jh_bdColor([UIColor blueColor]).jh_cnRadius(@(5)).jh_mtBounds(@(YES)).jh_tag(@(5));
UIView *view = [[UIView alloc] init];
view.jh_addToView(scrollView).jh_frame(@"[x:160,y:0,w:30,h:30]").jh_bgColor([UIColor redColor]).jh_bdWidth(@(2)).jh_bdColor([UIColor blueColor]).jh_cnRadius(@(5)).jh_mtBounds(@(NO)).jh_tag(@(5));
还有:tableView,textField,textView。就不一一列举了。
注意:
1.jh_addToView 要在jh_frame之用调用。(就是写在jh_frame前面)。
2.jh_frame的参数:
可以是NSValue类型:[NSValue valueWithCGRect:CGRectMake(10,20,30,40)];
可以是字符串类型:1. @“{{10,20},{30,40}}”;
[x:20,y:120,w:150,h:30]"
更多用法,参见github.