美文网首页iOS开发技术iOS开发部落移动开发技术前沿
iOS中一款高度可定制性商品计数按钮(京东/淘宝/饿了么/美团外

iOS中一款高度可定制性商品计数按钮(京东/淘宝/饿了么/美团外

作者: jkpang | 来源:发表于2016-08-31 20:54 被阅读1769次

    iOS中一款高度可定制性商品计数按钮(京东/淘宝/饿了么/美团外卖/百度外卖样式),使用简单!

    PPNumberButton (Objective-C版本)

    PPNumberButtonSwift (swift版本)

    因为之前的项目中需要,在网上找了好多都不符合要求,最后干脆自己撸了一个,现在分享出来,希望能帮到有需要的人。

    PPNumberButton.gif
    • 支持自定义加/减按钮的标题内容、背景图片;
    • 支持设置边框颜色;
    • 支持使用键盘输入;
    • 支持长按加/减按钮快速加减;
    • 支持block回调与delegate(代理)回调;
    • 支持使用xib创建、直接在IB面板设置相关属性;
    • 支持设置maxValue(最大值)与minValue(最小值).
    • 支持按钮自定义为京东/淘宝样式,饿了么/美团外卖/百度外卖样式;

    Usage 使用方法

    实例化方法

    [[PPNumberButton alloc] init];:默认的frame为CGRectMake(0, 0, 110, 30)

    [[PPNumberButton alloc] initWithFrame:frame];

    [PPNumberButton numberButtonWithFrame:frame];: 类方法创建

    1.自定义加减按钮文字标题

      PPNumberButton *numberButton = [PPNumberButton numberButtonWithFrame:CGRectMake(100, 100, 110, 30)];
        // 开启抖动动画
        numberButton.shakeAnimation = YES;
        // 设置最小值
        numberButton.minValue = 2;
        // 设置最大值
        numberButton.maxValue = 10;
        // 设置输入框中的字体大小
        numberButton.inputFieldFont = 23;
        numberButton.increaseTitle = @"+";
        numberButton.decreaseTitle = @"-";
        
        numberButton.numberBlock = ^(NSString *num){
            NSLog(@"%@",num);
        };
        [self.view addSubview:numberButton];
    

    2.边框状态

     PPNumberButton *numberButton = [PPNumberButton numberButtonWithFrame:CGRectMake(100, 160, 150, 30)];
        //设置边框颜色
        numberButton.borderColor = [UIColor grayColor];
        numberButton.increaseTitle = @"+";
        numberButton.decreaseTitle = @"-";
        
        numberButton.numberBlock = ^(NSString *num){
            NSLog(@"%@",num);
        };
        
        [self.view addSubview:numberButton];
    
    

    3.自定义加减按钮背景图片

      PPNumberButton *numberButton = [PPNumberButton numberButtonWithFrame:CGRectMake(100, 220, 100, 30)];
        numberButton.shakeAnimation = YES;
        numberButton.increaseImage = [UIImage imageNamed:@"increase_taobao"];
        numberButton.decreaseImage = [UIImage imageNamed:@"decrease_taobao"];
        
        numberButton.numberBlock = ^(NSString *num){
            NSLog(@"%@",num);
        };
        
        [self.view addSubview:numberButton];
    

    4.饿了么,美团外卖,百度外卖样式

     PPNumberButton *numberButton = [PPNumberButton numberButtonWithFrame:CGRectMake(100, 280, 100, 30)];
        // 初始化时隐藏减按钮
        numberButton.decreaseHide = YES;
        numberButton.increaseImage = [UIImage imageNamed:@"increase_meituan"];
        numberButton.decreaseImage = [UIImage imageNamed:@"decrease_meituan"];
        
        numberButton.numberBlock = ^(NSString *num){
            NSLog(@"%@",num);
        };
        
        [self.view addSubview:numberButton];
    

    使用xib创建

    在控制器界面拖入UIView控件,在右侧的设置栏中将class名修改为PPNumberButton,按回车就OK了.

    示例图1

    注意!如果有的同学将控件拖线到代码中,千万不要忘记在拖线的代码文件中导入"PPNumberButton.h"头文件,否则会报错

    可以在IB界面设置相关属性

    示例图2
    ====
    因为之前的项目中需要,在网上找了好多都不符合要求,干脆自己花了点时间撸了一个,现在分享出来,希望能帮到有需要的人。 如果你觉得不错,希望点个Star鼓励一下

    相关文章

      网友评论

      • MissLu16:你写的这有个问题呀,源码拉到项目中,按+号增加数量,输入框会出现覆盖值,是什么情况?最初输入框中的1值一直显示。
      • Be_ingenious:OC可以输入小数点,Swift连textField都不能控制啊
      • Ali2016:楼主,如果项目有小数输入的需求能不能扩展下,谢谢!
      • 瑞廷:Xcode 8,用的oc ,cell 里放了个View,修改CustomClass为PPNumberButton,连线到cell的.h 文件中报错了,错误如下:一,CountsCell.h:12:40: Unknown type name 'PPNumberButton',二,CountsCell.h:12:1: Property with 'retain (or strong)' attribute must be of object type,求大神看看
        瑞廷:@jkpang 好的,劳烦大神啦
        jkpang:@瑞廷 好的,今天下班了之后会适配xcode8,感谢使用
        瑞廷:@瑞廷 不是用cocoa pods 安装的
      • JAFB:好东西要收藏
        jkpang:@JAFB 多谢支持:smile:

      本文标题:iOS中一款高度可定制性商品计数按钮(京东/淘宝/饿了么/美团外

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