{"id":13696380,"url":"https://github.com/jkpang/PPNumberButton","last_synced_at":"2025-05-03T17:31:01.123Z","repository":{"id":62450203,"uuid":"67022650","full_name":"jkpang/PPNumberButton","owner":"jkpang","description":"iOS中一款高度可定制性商品计数按钮(京东/淘宝/饿了么/美团外卖/百度外卖样式)","archived":false,"fork":false,"pushed_at":"2019-08-23T03:58:37.000Z","size":4495,"stargazers_count":846,"open_issues_count":15,"forks_count":138,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-04T07:04:23.915Z","etag":null,"topics":["button","cocoapods","ios-ui","objective-c"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jkpang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-31T09:17:07.000Z","updated_at":"2025-02-17T03:17:54.000Z","dependencies_parsed_at":"2022-11-01T23:14:27.725Z","dependency_job_id":null,"html_url":"https://github.com/jkpang/PPNumberButton","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkpang%2FPPNumberButton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkpang%2FPPNumberButton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkpang%2FPPNumberButton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkpang%2FPPNumberButton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jkpang","download_url":"https://codeload.github.com/jkpang/PPNumberButton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252226652,"owners_count":21714838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["button","cocoapods","ios-ui","objective-c"],"created_at":"2024-08-02T18:00:39.026Z","updated_at":"2025-05-03T17:31:00.596Z","avatar_url":"https://github.com/jkpang.png","language":"Objective-C","funding_links":[],"categories":["UI Components","Objective-C"],"sub_categories":[],"readme":"![](https://github.com/jkpang/PPNumberButton/blob/master/Picture/PPNumberButton.png)\n\n![](https://img.shields.io/badge/platform-iOS-red.svg) ![](https://img.shields.io/badge/language-Objective--C-orange.svg) ![](https://img.shields.io/cocoapods/v/PPNumberButton.svg?style=flat) ![](https://img.shields.io/cocoapods/dt/PPNumberButton.svg) ![](https://img.shields.io/badge/license-MIT%20License-brightgreen.svg)  [![](https://img.shields.io/badge/weibo-%40jkpang-庞-yellow.svg)](http://weibo.com/5743737098/profile?rightmod=1\u0026wvr=6\u0026mod=personinfo\u0026is_all=1)\n\n### iOS中一款高度可定制性商品计数按钮,使用简单!\n\n* 支持自定义加/减按钮的标题内容、背景图片;\n* 支持设置边框颜色;\n* 支持使用键盘输入;\n* 支持长按加/减按钮快速加减; \n* 支持block回调与delegate(代理)回调;\n* 支持使用xib创建、直接在IB面板设置相关属性;\n* 支持设置maxValue(最大值)与minValue(最小值).\n* 支持按钮自定义为京东/淘宝样式,饿了么/美团外卖/百度外卖样式;\n\n### 新建 PP-iOS学习交流群 : 323408051 有关于PP系列封装的问题和iOS技术可以在此群讨论\n[简书地址](http://www.jianshu.com/p/0b6f53a1ccaf) ;\n\n#### 如果你需要Swift版本,请戳: https://github.com/jkpang/PPNumberButtonSwift\n\n![示例图1](https://github.com/jkpang/PPNumberButton/blob/master/Picture/PPNumberButton1.gif) ![示例图2](https://github.com/jkpang/PPNumberButton/blob/master/Picture/PPNumberButton2.gif)\n\n## Requirements 要求\n* iOS 7+\n* Xcode 8+\n\n## Installation 安装\n### 1.手动安装:\n下载DEMO后,将子文件夹PPNumberButton拖入到项目中, 导入头文件PPNumberButton.h开始使用.\n### 2.CocoaPods安装:\nfirst\n`pod 'PPNumberButton'\nthen\n`pod install或pod install --no-repo-update`\n\n如果发现pod search PPNumberButton 不是最新版本，在终端执行pod setup命令更新本地spec镜像缓存(时间可能有点长),重新搜索就OK了\n## Usage 使用方法\n#### 实例化方法\n`[[PPNumberButton alloc] init];`:默认的frame为CGRectMake(0, 0, 110, 30)\n或\n`[[PPNumberButton alloc] initWithFrame:frame];`\n\n或\n`[PPNumberButton numberButtonWithFrame:frame];`: 类方法创建\n### 1.自定义加减按钮文字标题\n\n```objc\nPPNumberButton *numberButton = [PPNumberButton numberButtonWithFrame:CGRectMake(100, 100, 110, 30)];\n// 开启抖动动画\nnumberButton.shakeAnimation = YES;\n// 设置最小值\nnumberButton.minValue = 2;\n// 设置最大值\nnumberButton.maxValue = 10;\n// 设置输入框中的字体大小\nnumberButton.inputFieldFont = 23;\nnumberButton.increaseTitle = @\"＋\";\nnumberButton.decreaseTitle = @\"－\";\n    \nnumberButton.resultBlock = ^(NSString *num){\n    NSLog(@\"%@\",num);\n};\n[self.view addSubview:numberButton];\n```\n### 2.边框状态\n\n```objc\nPPNumberButton *numberButton = [PPNumberButton numberButtonWithFrame:CGRectMake(100, 160, 150, 30)];\n//设置边框颜色\nnumberButton.borderColor = [UIColor grayColor];\nnumberButton.increaseTitle = @\"＋\";\nnumberButton.decreaseTitle = @\"－\";\nnumberButton.resultBlock = ^(NSString *num){\n    NSLog(@\"%@\",num);\n}; \n[self.view addSubview:numberButton];\n\n```\n### 3.自定义加减按钮背景图片\n\n```objc\nPPNumberButton *numberButton = [PPNumberButton numberButtonWithFrame:CGRectMake(100, 220, 100, 30)];\nnumberButton.shakeAnimation = YES;\nnumberButton.increaseImage = [UIImage imageNamed:@\"increase_taobao\"];\nnumberButton.decreaseImage = [UIImage imageNamed:@\"decrease_taobao\"];\nnumberButton.resultBlock = ^(NSString *num){\n    NSLog(@\"%@\",num);\n};\n[self.view addSubview:numberButton];\n```\n### 4.饿了么,美团外卖,百度外卖样式\n\n```objc\nPPNumberButton *numberButton = [PPNumberButton numberButtonWithFrame:CGRectMake(100, 280, 100, 30)];\n// 初始化时隐藏减按钮\nnumberButton.decreaseHide = YES;\nnumberButton.increaseImage = [UIImage imageNamed:@\"increase_meituan\"];\nnumberButton.decreaseImage = [UIImage imageNamed:@\"decrease_meituan\"];\nnumberButton.resultBlock = ^(NSString *num){\n    NSLog(@\"%@\",num);\n};\n[self.view addSubview:numberButton];\n```\n\n**更多详细用法参见Demo**\n\n## 使用xib创建\n在控制器界面拖入UIView控件,在右侧的设置栏中将class名修改为PPNumberButton,按回车就OK了 **(注意:如果通过Cocopods导入, 使用XIB/SB创建按钮会显示不全,还可能会报错.但APP可以编译运行,这应该是Cocopods或Xcode的问题)**.\n![示例图](https://github.com/jkpang/PPNumberButton/blob/master/Picture/photo1.png)\n_*注意!如果有的同学将控件拖线到代码中,千万不要忘记在拖线的代码文件中导入 \"PPNumberButton.h\"头文件,否则会报错.*_\n\n**可以在IB界面设置相关属性**\n![示例图](https://github.com/jkpang/PPNumberButton/blob/master/Picture/photo2.png)\n\n因为之前的项目中需要,在网上找了好多都不符合要求,干脆自己花了点时间撸了一个,现在分享出来,希望能帮到有需要的人。 如果你觉得不错,希望点个Star鼓励一下!\n#### 你的Star是我持续更新的动力!\n\n## CocoaPods更新日志\n\n```\n• 2018.02.08(tag:0.8.0): \n  1.新增步长stepValue;\n  2.新增支持小数功能属性decimalNum.\n  \n• 2017.07.05(tag:0.7.0): \n  1.新增 longPressSpaceTime 属性,设置长按加减速度的快慢以及功能关闭;\n  2.新增tableView列表Demo;\n  3.其他代码小细节优化.\n  \n• 2016.12.22(tag:0.6.0): \n  1.将代理与Block回调的结果数字的类型 由 NSString -\u003e NSInteger;\n  2.代理与Block回调结果增加 increaseStatus(加运算状态);\n  3.修复有时代理方法没有被实现导致Crash的Bug;\n  4.修复减按钮为隐藏模式时,减运算到最小值没有回调的BUG.\n\t\t\t\t\t\t\t\t  \n• 2016.12.19(tag:0.5.0):\n  新增 editing(是否可以使用键盘输入)属性.\n  \n• 2016.12.09(tag:0.4.0): \n  1.修复当”减”按钮初始化为隐藏模式时, 对其赋值不了的BUG;\n  2.优化代码,修复其他小问题.\n  \n• 2016.11.03(tag:0.3.0)--重大更新:\n  1.增加饿了么/美团外卖/百度外卖样式;\n  2.调整自定义属性设置接口.\n  \n• 2016.11.03(tag:0.2.0): \n  设置maxValue(最大值)与minValue(最小值)属性接口.\n  \n• 2016.09.14(tag:0.1.2);\n  添加使用XIB创建时的实时显示\n  \n• 2016.09.12(tag:0.1.1): \n  小细节优化.\n  \n• 2016.09.03(tag:0.1.0):\n  Pods初始化.\n```\n## 我的App \u003c-\u003e My APP\n- [PPHub](https://github.com/PPHubApp/PPHub-Feedback)：一个简洁漂亮的 GitHub iOS客户端 \u003c-\u003e A simple and beautiful GitHub iOS client   \n[![App_Store](https://github.com/jkpang/PPHub-Feedback/blob/master/Resource/Download_on_the_App_Store_135x40.svg)](https://itunes.apple.com/cn/app/PPHub%20For%20GitHub/id1314212521?mt=8)\n\n## 联系方式:\n* Weibo : [@jkpang-庞](http://weibo.com/5743737098/profile?rightmod=1\u0026wvr=6\u0026mod=personinfo\u0026is_all=1)\n* Email : jkpang@outlook.com\n* QQ群  : 323408051\n* Blog  : https://www.jkpang.cn\n\n![PP-iOS学习交流群群二维码](https://github.com/jkpang/PPCounter/blob/master/PP-iOS%E5%AD%A6%E4%B9%A0%E4%BA%A4%E6%B5%81%E7%BE%A4%E7%BE%A4%E4%BA%8C%E7%BB%B4%E7%A0%81.png)\n\n## 许可证\nPPNumberButton 使用 MIT 许可证，详情见 LICENSE 文件。\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkpang%2FPPNumberButton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjkpang%2FPPNumberButton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkpang%2FPPNumberButton/lists"}