首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS 利用函数式编程方法创建基础控件

iOS 利用函数式编程方法创建基础控件

作者头像
赵哥窟
发布2021-07-23 16:01:23
发布2021-07-23 16:01:23
35600
代码可运行
举报
文章被收录于专栏:日常技术分享日常技术分享
运行总次数:0
代码可运行

由于编码的时候大多数时候使用Xib,但是偶尔利用纯代码创建控件的时候,觉得很麻烦,很多属性需要设置,于是在Git上搜索一个开源库FuncControl 觉得还可以,如果您有好用一点的开源库也请分享一下!

创建UILabel

原生写法

代码语言:javascript
代码运行次数:0
运行
复制
UILabel *labelOrigin = [UILabel new];
labelOrigin.frame = CGRectMake(15, 50, self.view.frame.size.width-15, 50);
labelOrigin.font = [UIFont systemFontOfSize:14];
labelOrigin.textColor = [UIColor darkGrayColor];
labelOrigin.text = @"UILabel_FuncChains";
labelOrigin.backgroundColor = [UIColor yellowColor];
[self.view addSubview:labelOrigin];

简化写法

代码语言:javascript
代码运行次数:0
运行
复制
UILabel *label = [UILabel new]
.func_frame(CGRectMake(15, 50, self.view.frame.size.width-30, 50))
.func_font([UIFont systemFontOfSize:18])
.func_textColor([UIColor darkGrayColor])
.func_text(@"UILabel_FuncChains")
.func_backgroundColor([UIColor yellowColor]);
[self.view addSubview:label];
创建UIButton

原生写法

代码语言:javascript
代码运行次数:0
运行
复制
UIButton *buttonOrigin = [[UIButton alloc]init];
    buttonOrigin.frame = CGRectMake(15, 150, self.view.frame.size.width-15, 50);
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.colors = @[(__bridge id)UIColor.redColor.CGColor, (__bridge id)UIColor.blueColor.CGColor];
    gradientLayer.locations = @[@0.0, @1.0];
    gradientLayer.startPoint = CGPointMake(0, 0);
    gradientLayer.endPoint = CGPointMake(1, 0);
    gradientLayer.frame = buttonOrigin.bounds;
    [buttonOrigin.layer addSublayer:gradientLayer];

    buttonOrigin.titleLabel.font = [UIFont systemFontOfSize:14];
    [buttonOrigin setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [buttonOrigin setTitle:@"UIButton_FuncChains" forState:UIControlStateNormal];
    [buttonOrigin addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:buttonOrigin];

简化写法

代码语言:javascript
代码运行次数:0
运行
复制
UIButton *button = UIButton.func_init.func_frame(CGRectMake(15, 150, self.view.frame.size.width-15, 50))
.func_gradientHorizontalColor(UIColor.redColor,UIColor.blueColor)
.func_font([UIFont systemFontOfSize:14])
.func_titleColor([UIColorwhiteColor])
.func_title(@"UIButton_FuncChains")
.func_addTarget_action(self,@selector(buttonClick));
[self.view addSubview:button];
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建UILabel
  • 创建UIButton
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档