OC Control PPNumberButton

张开发
2026/4/10 23:31:22 15 分钟阅读

分享文章

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)idPPNumberButtonDelegatedelegate;#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,getterisEditing)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;使用PPNumberButtonDelegateproperty(nonatomic,strong)PPNumberButton*numberBtn;self.numberBtn[PPNumberButton new];self.numberBtn.shakeAnimationYES;self.numberBtn.editingYES;self.numberBtn.borderColor[Color line];self.numberBtn.currentNumber1;self.numberBtn.inputFieldFont16;self.numberBtn.longPressSpaceTime0.5;self.numberBtn.buttonTitleFont16;self.numberBtn.increaseTitle;self.numberBtn.decreaseTitle-;self.numberBtn.minValue1;self.numberBtn.stepValue1;self.numberBtn.delegateself;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{}

更多文章