iOS基本控件基于点语法实现,写法简单由你定义

来源:互联网 发布:java程序员接私活 编辑:程序博客网 时间:2024/05/17 02:52

新建一个UILabel分类(category),在.h中写入下面内容

/**

 位置 ,居左,居中,居右

 */

-(UILabel *(^)(NSTextAlignment))LabelTextAlignment;


/**

 背景颜色

 */

-(UILabel *(^)(UIColor *))LabelBackGroundColor;


/**

 文字颜色

 */

-(UILabel *(^)(UIColor *))LabelTextColor;


/**

 文字

 */

-(UILabel *(^)(NSString *))LabelText;


/**

 字体大小

 */

-(UILabel *(^)(float))LabelFontSize;


/**

 位置大小CGRect

 */

-(UILabel *(^)(CGRect))LabelRect;


/**

 边框颜色

 */

-(UILabel *(^)(UIColor *))LabelBorderColor;


/**

 边框大小

 */

-(UILabel *(^)(float))LabelBorderWidth;


/**

 阴影颜色

 */

-(UILabel *(^)(UIColor *))LabelShadowColor;


/**

 阴影偏移量

 */

-(UILabel *(^)(CGSize))LabelShadowOffset;


/**

 label圆角

 */

-(UILabel *(^)(float))LabelCornerRadius;


/**

 行数

 */

-(UILabel *(^)(int))LabelLines;

/**

 添加到某个view

 */

-(UILabel *(^)(UIView *))LabelSuperView;



//之后再.m中实现方法

/**

 位置 ,居左,居中,居右

 */

-(UILabel *(^)(NSTextAlignment))LabelTextAlignment{

    return ^(NSTextAlignment textAlignment){

        self.textAlignment = textAlignment;

        return self;

    };

}

/**

 背景颜色

 */

-(UILabel *(^)(UIColor *))LabelBackGroundColor{

    return ^(UIColor *backGroundColor){

        self.backgroundColor = backGroundColor;

        return self;

    };

}

/**

 文字颜色

 */

-(UILabel *(^)(UIColor *))LabelTextColor{

    return ^(UIColor *textColor){

        self.textColor = textColor;

        return self;

    };

}

/**

 文字

 */

-(UILabel *(^)(NSString *))LabelText{

    return ^(NSString *text){

        self.text = text;

        return self;

    };

}

/**

 字体大小

 */

-(UILabel *(^)(float))LabelFontSize{

    return ^(float fontSize){

        self.font = [UIFont systemFontOfSize:fontSize];

        return self;

    };

}

/**

 位置大小CGRect

 */

-(UILabel *(^)(CGRect))LabelRect{

    return ^(CGRect frame){

        self.frame = frame;

        return self;

    };

}

/**

 边框颜色

 */

-(UILabel *(^)(UIColor *))LabelBorderColor{

    return ^(UIColor *borderColor){

        self.layer.borderColor = borderColor.CGColor;

        return self;

    };

    

}

/**

 边框大小

 */

-(UILabel *(^)(float))LabelBorderWidth{

    return ^(float borderWidth){

        self.layer.borderWidth = borderWidth;

        return self;

    };

}

/**

 阴影颜色

 */

-(UILabel *(^)(UIColor *))LabelShadowColor{

    return ^(UIColor *shadowColor){

        self.shadowColor = shadowColor;

        return self;

    };

    

}

/**

 阴影偏移量

 */

-(UILabel *(^)(CGSize))LabelShadowOffset{

    return ^(CGSize size){

        self.shadowOffset = size;

        return self;

    };

}


/**

 label圆角

 */

-(UILabel *(^)(float))LabelCornerRadius{

    return ^(float cornerRadius){

        self.layer.masksToBounds = YES;

        self.layer.cornerRadius = cornerRadius;

        return self;

    };

}

/**

 行数

 */

-(UILabel *(^)(int))LabelLines{

    return ^(int lines){

        self.numberOfLines = lines;

        return self;

    };

}

/**

 添加到某个view

 */

-(UILabel *(^)(UIView *))LabelSuperView{

    return ^(UIView *view){

        [view addSubview:self];

        return self;

    };

}

更多基础控件基于点语法实现,请到我的github上下载,地址:https://github.com/986138497/UIKit,如有问题请联系我的qq:986138497




0 0
原创粉丝点击