news 2026/5/1 12:06:01

OC Control PPNumberButton

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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{}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 23:30:28

逆向兼容的桥梁:3to2 自动化降级工具实现全解析

逆向兼容的桥梁&#xff1a;3to2 自动化降级工具实现全解析 在软件工程中&#xff0c;向后兼容往往比向前开发更具挑战性。3to2 是一款基于 lib2to3 架构的逆向转换工具&#xff0c;它的核心逻辑是将符合 Python 3 规范的抽象语法树&#xff08;AST&#xff09;重写为兼容 Pyth…

作者头像 李华
网站建设 2026/4/10 23:30:24

SEATA分布式事务——AT模式凭

简介 AI Agent 不仅仅是一个能聊天的机器人&#xff08;如普通的 ChatGPT&#xff09;&#xff0c;而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统&#xff0c;更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料&#xff0c;agent的…

作者头像 李华
网站建设 2026/4/10 23:27:55

LiteLLM Proxy:简化大模型API接入与管理的终极方案

1. LiteLLM Proxy&#xff1a;大模型API管理的瑞士军刀 第一次听说LiteLLM Proxy是在去年底的一个技术沙龙上&#xff0c;当时我正在为公司的AI中台项目头疼——需要同时对接七八个不同厂商的大模型API&#xff0c;每个API的调用方式、鉴权机制、计费规则都不一样。现场有位工程…

作者头像 李华
网站建设 2026/4/10 23:27:55

RMCP高级特性:OAuth认证与资源管理完全指南

RMCP高级特性&#xff1a;OAuth认证与资源管理完全指南 【免费下载链接】rust-sdk The official Rust SDK for the Model Context Protocol 项目地址: https://gitcode.com/gh_mirrors/rusts/rust-sdk RMCP&#xff08;Model Context Protocol&#xff09;作为现代化的模…

作者头像 李华
网站建设 2026/4/10 23:27:09

Ion.RangeSlider与现代化前端框架集成方案:终极指南

Ion.RangeSlider与现代化前端框架集成方案&#xff1a;终极指南 【免费下载链接】ion.rangeSlider jQuery only range slider 项目地址: https://gitcode.com/gh_mirrors/io/ion.rangeSlider Ion.RangeSlider是一款功能强大且易于定制的jQuery范围滑块插件&#xff0c;在…

作者头像 李华
网站建设 2026/4/10 23:27:07

别让AI代码,变成明天的技术债贸

如果有多个供应商&#xff0c;你也可以使用 [[CC-Switch]] 来可视化管理这些API key&#xff0c;以及claude code 的skills。 # 多平台安装指令 curl -fsSL https://claude.ai/install.sh | bash ## Claude Code 配置 GLM Coding Plan curl -O "https://cdn.bigmodel.cn/i…

作者头像 李华