iOS控件分类

在编写应用程序时,UILabel Button Textfield这几个控件出现频率基本上算是最高的。有的时候在初始化时会添加好多的属性,如果是代码写页面,即使赋值粘贴的话,也需要修改好多属性名称。
因此作者写了一个小的分类,为这几个常用的控件的属性使用了链式编程,其中对点击方法进行了抽离,通过block方式就能调用。并且点击事件同样也可以使用·语法来进行衔接。
为UITextView添加了placeholder,可以设置文字和颜色,字体是随textview字体进行变化的,同时可以设置左中右位置,不过没对上下格式进行处理。
使用方式大概是这样的:

__weak typeof(self) weakself = self;
    UILabel *label = (UILabel *)UILabel.new
    .gyText(@"asdfasdf") // 设置label文字
    .gyTextColor(UIColor.greenColor) // 设置文字颜色
    .gyBackgroundColor(UIColor.purpleColor) // 背景色
    .gyGestureTap(^(UITapGestureRecognizer *gesture){ // 点击事件  注意循环引用
        NSLog(@"短按");
    })
    .gyGestureLongPress(^(UILongPressGestureRecognizer *gesture){ // 长按事件 注意循环引用
        __strong typeof(weakself) strongSelf = weakself;
        NSLog(@"长按");
        [strongSelf dismissViewControllerAnimated:YES completion:nil];
    })
    .gyGestureLongPressDuratime(1.5); // 设置长按事件事件  如果添加在前面会无效 暂时考虑如果设置时间就有长按方法 
    label.frame = CGRectMake(0, 400, 300, 40);
    [self.view addSubview:label];

暂时也没有添加太多的属性,因为都是随用随写的。
很多属性都可以在类里面查看。
而且因为工作时间占用比较多,有一些bug没发现或者暂时没有处理,如果有发现的也希望能帮忙提出以下。
github地址
喜欢的话在github页面帮忙点个赞。

你可能感兴趣的:(iOS控件分类)