NumberField 0.4.2

NumberField 0.4.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2018 年 10 月
SPM支持 SPM

Kenneth Tsang 维护。




  • 作者
  • Kenneth Tsang

NumberField

Version License Platform Language

需求

iOS 9.0 或更高版本

安装

CocoaPods

NumberField 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行

Swift 4.2

pod 'NumberField', '0.4.2'

Swift 4.0

pod 'NumberField', '0.4.0'

使用

编程方式

// Create NumberField instance
let numberField = NumberField()
numberField.maxValue = 99999.99
numberField.decimalPlace = 2
numberField.prefixLabel.text = "LENGTH"
numberField.suffixLabel.text = "cm"
addSubview(numberField)

// Set value
numberField.value = 123.45

// Get value
let sellingPrice = numberField.value

Storyboard

  1. 将 UIView 拖拽到 Storyboard 中。
  2. 将类设置为 NumberField

数字字段属性

参数 类型 描述 默认
双精度浮点型 当前值。 0
maxValue 双精度浮点型 最大值。0表示无限制。 0
decimalPlace 整型 小数位数。0表示整数。 0
valueLabel 标签文本控件 显示值文本的标签文本控件。 -
prefixLabel 标签文本控件 标签文本控件在值文本左侧。 -
suffixLabel 标签文本控件 标签文本控件在值文本右侧。 -
textAlignment 数字字段对齐方式 值文本对齐方式(.左 / .右) .右
isPrefndSuffixStickToSides 布尔型 True - 前缀和后缀将粘附在左右两侧。
False - 前缀和后缀将粘附在值文本上,并随值文本大小的变化而移动。
true

基本组件

NumberField是由 3 个标签文本控件 构成的。您可以自定义它们以适应您的需求

LabelGuide

// Customize value label
numberField.valueLabel.font = UIFont.systemFont(ofSize: 20)

// customize prefix label
numberField.prefixLabel.text = "LENGTH"
numberField1.prefixLabel.font = UIFont.boldSystemFont(ofSize: 16)
numberField1.prefixLabel.textColor = UIColor.gray

// customize suffix label
numberField.suffixLabel.text = "cm"
numberField1.suffixLabel.font = UIFont.boldSystemFont(ofSize: 16)
numberField1.suffixLabel.textColor = UIColor.gray

键盘自定义

参数 类型 描述 默认
keyboardHeight OpenGL固定点数类型 键盘高度。 260
keyboardBorderColor UIColor 键盘按钮之间边框的颜色。 -
keyboardTextColor UIColor 键盘按钮的文字颜色。 -
keyboardBackgroundColor UIColor 键盘按钮的背景颜色。 -
keyboardDecimalPlaceColor UIColor 小数点按钮的背景颜色。 -
keyboardBackspaceColor UIColor 退格按钮的背景颜色。 -

事件

监听 4 个 UIControlEvents: 编辑开始编辑结束编辑改变编辑被拒绝

//Listen to editing begin:
numberField.addTarget(self, action: #selector(numberFieldEditingDidBegin), for: .editingDidBegin)

//Listen editing end:
numberField.addTarget(self, action: #selector(numberFieldEditingDidEnd), for: .editingDidEnd)

//Listen to value changed on edit.
numberField.addTarget(self, action: #selector(numberFieldEditingChanged), for: .editingChanged)

//Listen to value rejected on edit. i.e. Value exceeded maximum value.
numberField.addTarget(self, action: #selector(numberFieldEditingRejected), for: .editingRejected)

//Your functions:
func numberFieldEditingDidBegin(numberField: NumberField) { ... }
func numberFieldEditingDidEnd(numberField: NumberField) { ... }
func numberFieldEditingChanged(numberField: NumberField) { ... }
func numberFieldEditingRejected(numberField: NumberField) { ... }

作者

张健伦,[email protected]

许可协议

NumberField 可在 MIT 许可下使用。更多信息请参阅 LICENSE 文件。