RZNumberPad 0.1.0

RZNumberPad 0.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Rob Visentin维护。



  • 作者:
  • Rob Visentin

下次设计又需要一个新的自定义数字键盘,不用皱眉。相反,为此感到高兴,任务因 RZNumberPad 而变得无比简单。

使用方法

RZNumberPad 提供了一个基类,该类包含逻辑并执行每个数字键盘固有的任务。不必为每个新的设计要求重写轮子,只需创建一个 RZNumberPad 的子类,并覆盖适当的方法以指定样式。用于定制的核心方法覆盖:

// The size in points of each button in the number pad.
+ (CGSize)buttonSize;

// The amount of space between each button. 
// The X value is horizontal spacing, and Y value is vertical spacing.
+ (CGPoint)buttonSpacing;

 // The dimensions of the number pad. 
 // Width is the be number of columns, and height is the be number of rows.
+ (RZNumberPadDimensions)dimensions;

// The class used to create the button views. 
// The returned class must be a subclass of UIControl.
+ (Class)buttonClass;

// Called when the number pad needs to configure one of its button views.
// The default implementation sets the title of the button if it is a UIButton subclass, 
// and adds a UILabel to the view otherwise.
- (void)configureButton:(UIView *)button forNumber:(NSNumber *)number;

//  Called when the number pad needs to configure its done button. 
- (void)configureDoneButton:(UIView *)button;

// Called when the number pad needs to configure its back button.
- (void)configureBackButton:(UIView *)button;

// Called internally to determine what numerical value each button represents. 
// The default implementation just returns the index, but for the last button returns 0 
// (so that the zero button is at the bottom of the numberpad).
- (NSNumber *)numberForButton:(UIView *)button atIndex:(NSUInteger)index;

不需要 xibs

数字键盘通过编程创建,按钮和尺寸根据每个子类进行配置。不需要 xib 来设置新的数字键盘,但 RZNumberPadIBDesignable,因此您可以直接在 Interface Builder 中查看自定义数字键盘的外观和感觉。

不涉及 IBActions 或 delegates

RZNumberPad 接收数字、完成和后退按钮的点击事件,并像 UIControl 一样广播它们。您可以向数字键盘添加和删除目标/操作对以接收事件回调。然而,对于将数字键盘用于输出到 UITextField 的一般情况,RZNumberPad 提供了一个更简单的选项。

直接将输出链接到 UITextField

数字键盘的输出可以直接通过编程或通过 Interface Builder 链接到文本字段。当 RZNumberPadUITextField 相连时,它类似于输入视图。数字和后退按钮的点击会触发文本字段代理上的相应方法,然后可以直接更新字段的文本。在这种情况下,数字键盘的“完成”按钮充当回车键。在大多数情况下,此功能是足够的,因此将数字键盘添加到项目中就像在 Interface Builder 中添加视图一样简单。