美文网首页
iOS 利用函数式编程方法创建基础控件

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

作者: 赵哥窟 | 来源:发表于2021-07-21 12:03 被阅读0次

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

创建UILabel

原生写法

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];

简化写法

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

原生写法

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];

简化写法

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];

相关文章

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

    由于编码的时候大多数时候使用Xib,但是偶尔利用纯代码创建控件的时候,觉得很麻烦,很多属性需要设置,于是在Git上...

  • ReactiveObjC入门

    ReactiveObjC基础用法 iOS开发三种编程方式(响应式编程、函数编程、链式编程),函数编程最常用,链式编...

  • 简单点,理解iOS与函数式编程

    简单点,理解iOS与函数式编程 简单点,理解iOS与函数式编程

  • iOS RAC学习

    一、RAC使用基础认知 RAC编程思想:响应式编程+函数式编程 在iOS中,类之间的传值,无非就是block、de...

  • RAC学习详解

    Block开发基础知识 链式编程思想简介 响应式编程思想简介 函数式编程思想简介 参考资料 iOS 关于MVC和M...

  • part1整理

    函数式编程:JavaScript函数式编程指南 异步编程:异步编程 Promise源码 JavaScript基础知...

  • 【JavaScript】技术参考资料

    JS基础、高级、进阶 MDN·JavaScript 函数式编程 阮一峰老师的入门简介: 函数式编程初探、函数式编程...

  • 函数式编程

    与指令编程相比,函数式编程就是考虑利用已有的函数去解决问题。指令编程是根据基础步骤一步步完成。函数编程是不同逻辑的...

  • Scala函数式编程(三) scala集合和函数

    前情提要: scala函数式编程(二) scala基础语法介绍 scala函数式编程(二) scala基础语法介绍...

  • Scala 学习笔记

    Scala 学习笔记 1.函数式编程 函数式编程:函数式编程把函数当作一等公民,充分利用函数,支持函数的多种使用方...

网友评论

      本文标题:iOS 利用函数式编程方法创建基础控件

      本文链接:https://www.haomeiwen.com/subject/djhjmltx.html