当前位置: 首页 > news >正文

OC Control PPNumberButton

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。

OC Control PPNumberButton下载链接

OC 项目底层框架(万能)

使用场景:电商项目加减商品进购物车

效果

控件所提供的方法

-(instancetype)initWithFrame:(CGRect)frame;+(instancetype)numberButtonWithFrame:(CGRect)frame;/** 加减按钮的Block回调*/@property(nonatomic,copy)void(^resultBlock)(PPNumberButton*ppBtn,CGFloat number,BOOL increaseStatus/* 是否为加状态*/);/** 代理*/@property(nonatomic,weak)id<PPNumberButtonDelegate>delegate;#pragmamark-自定义样式属性设置/** 是否开启抖动动画, default is NO*/@property(nonatomic,assign)IBInspectable BOOL shakeAnimation;/** 为YES时,初始化时减号按钮隐藏(饿了么/百度外卖/美团外卖按钮模式),default is NO*/@property(nonatomic,assign)IBInspectable BOOL decreaseHide;/** 是否可以使用键盘输入,default is YES*/@property(nonatomic,assign,getter=isEditing)IBInspectable BOOL editing;/** 设置边框的颜色,如果没有设置颜色,就没有边框 */@property(nonatomic,strong)IBInspectable UIColor*borderColor;/** 输入框中的内容 */@property(nonatomic,assign)CGFloat currentNumber;/** 递增步长,默认步长为1 */@property(nonatomic,assign)CGFloat stepValue;/** 输入框中的字体大小 */@property(nonatomic,assign)IBInspectable CGFloat inputFieldFont;/** 长按加减的时间间隔,默认0.1s,设置为 CGFLOAT_MAX 则关闭长按加减功能*/@property(nonatomic,assign)IBInspectable CGFloat longPressSpaceTime;/** 加减按钮的字体大小 */@property(nonatomic,assign)IBInspectable CGFloat buttonTitleFont;/** 加按钮背景图片 */@property(nonatomic,strong)IBInspectable UIImage*increaseImage;/** 减按钮背景图片 */@property(nonatomic,strong)IBInspectable UIImage*decreaseImage;/** 加按钮标题 */@property(nonatomic,copy)IBInspectable NSString*increaseTitle;/** 减按钮标题 */@property(nonatomic,copy)IBInspectable NSString*decreaseTitle;/** 最小值, default is 0 */@property(nonatomic,assign)IBInspectable CGFloat minValue;/** 最大值 */@property(nonatomic,assign)CGFloat maxValue;/** 目前支持一位小数的递增 */@property(nonatomic,assign)BOOL decimalNum;@end#pragmamark-NSString分类@interfaceNSString(PPNumberButton)/** 字符串 nil, @"", @" ", @"\n" Returns NO; 其他 Returns YES. */-(BOOL)pp_isNotBlank;

使用

PPNumberButtonDelegate@property(nonatomic,strong)PPNumberButton*numberBtn;self.numberBtn=[PPNumberButton new];self.numberBtn.shakeAnimation=YES;self.numberBtn.editing=YES;self.numberBtn.borderColor=[Color line];self.numberBtn.currentNumber=1;self.numberBtn.inputFieldFont=16;self.numberBtn.longPressSpaceTime=0.5;self.numberBtn.buttonTitleFont=16;self.numberBtn.increaseTitle=@"+";self.numberBtn.decreaseTitle=@"-";self.numberBtn.minValue=1;self.numberBtn.stepValue=1;self.numberBtn.delegate=self;self.numberBtn.addTo(self.bgView).makeCons(^{make.right.equal.view(self.bgView).constants(-10);make.top.equal.view(self.labelView).bottom.constants(5);make.height.equal.constants(30);make.width.equal.constants(90);});#pragmamark LabelView 用于返回选中数量-(void)pp_numberButton:(PPNumberButton*)numberButton number:(NSInteger)number increaseStatus:(BOOL)increaseStatus{}
http://www.jsqmd.com/news/620538/

相关文章:

  • 构建具备批判性思维的AI Agent
  • 保姆级教程:为阿里SenseVoice模型添加字幕时间轴(Python+FunASR)
  • MiniCPM-V 4.5本地部署指南:从环境配置到图片视频推理全流程(附常见错误排查)
  • 手把手教你用ATC工具把ONNX模型转成昇腾310P3能跑的.om文件(附完整命令)
  • 深度图聚类:从学习范式到应用场景的演进与剖析
  • Chamber多后端支持:SSM、Secrets Manager、S3全攻略
  • LinkedIn 2026内容算法报告:这3类内容触达率暴涨47%,你的团队还在发错的那种 - SocialEcho社媒管理
  • SP3485芯片应用避坑指南:手把手调试RS485半双工通信
  • NVIDIA FoundationStereo实战:如何用零样本技术搞定复杂场景的立体匹配?
  • 保姆级教程:用MQTT.fx 1.7.1连接华为云IoT,从创建产品到收发消息一条龙搞定
  • 像素剧本圣殿实战教程:用ScriptGen LoRA适配器提升对白张力生成
  • AI Agent在珠宝与奢侈品行业的应用:个性化推荐与服务升级
  • 3分钟解锁B站缓存视频:零转码无损转换的终极方案
  • 别再手动打字了!用uniapp+科大讯飞SDK实现语音实时转文字(附完整代码)
  • SQL如何快速查找重复数据行_使用ROW_NUMBER进行标记删除
  • ngx-toastr 国际化实现:多语言Toast通知的完整解决方案
  • 告别重复劳动:用appimagetool一键生成x86/ARM多平台AppImage包(附完整命令)
  • 从零到一:在Win11笔记本上成功部署3DGS的避坑指南
  • 智能体提示工程(Agent Prompting)与传统提示工程的关键差异
  • fpga系列 HDL:跨时钟域同步 双触发器同步器
  • 告别‘玩具数据集’:手把手教你准备符合 RandLA-Net 要求的自定义点云数据(S3DIS 格式详解与转换脚本避坑)
  • AScript动态脚本语言:3大实战场景深度解析与iOS热更新解决方案
  • 供应商AI原生能力不达标,项目延期率飙升327%!——2023-2024国内217个AI项目复盘中的6类致命评估盲区
  • Cesium 适配 ArcGIS Server 非标准原点切片服务:以4490坐标系为例
  • 组织熵增 vs AI原生熵减:用香农-组织信息论量化研发效能衰减(SITS2026首次发布行业基准值)
  • 雪女-斗罗大陆-造相Z-Turbo实战:微信小程序开发中的AI对话集成
  • 从RGB-D图像到三维世界:深度相机点云生成的核心算法与坐标变换
  • TMSpeech:Windows平台离线语音转文字的终极解决方案
  • 完整Modbus协议栈:pymodbus核心组件详解
  • SQL批量删除旧日志数据_根据创建时间戳进行清理方案