一个平平无奇的验证码输入框
自带两种风格(下划线,边框)。
可设置属性
/// 样式 默认 splitline
public var style: RBVerifyInputViewStyle = .splitline()
/// 位数 默认 6 位
public var count: Int = 6
/// item宽度 不设置会根据间距自动计算
public var itemWidth: CGFloat?
/// item高度 不设置则跟view一样高
public var itemHeight: CGFloat?
/// 文本是否加密 默认 false
public var isSecureTextEntry: Bool = false
/// 文本颜色 默认 black
public var textColor: UIColor = .black
/// 文本字体 默认常规 16
public var textFont: UIFont = UIFont.systemFont(ofSize: 16, weight: .regular)
/// 光标颜色 默认 blue
public var cursorColor: UIColor = .blue
/// 光标宽度 默认 1.6
public var cursorWidth: CGFloat = 1.6
/// 光标高度 为空则等于字体高度
public var cursorHeight: CGFloat?
/// 验证码输入完成后的回调闭包,返回参数为验证码
public var completeHandler: ((_ verifyCode: String) -> Void)!
public enum RBVerifyInputViewStyle {
/// 分割下划线
/// lineHeight: 下划线高
/// lineRadius:下划线圆角
/// lineColor:下划线颜色
/// itemSpacing:item间距
case splitline(lineHeight: CGFloat = 1, lineRadius: CGFloat = 0.5, lineColor: UIColor = .lightGray, itemSpacing: CGFloat = 10)
/// 分割块
/// borderWidth: 边框宽
/// borderRadius: 边框圆角
/// borderColor: 边框颜色
/// borderHighlightedColor: 边框高亮颜色
/// itemBackgroundColor: item背景颜色
/// itemBackgroundHighlightedColor: item背景高亮颜色
/// itemSpacing: item间距
/// isContinuous: 是否连续,如果是连续的话,itemSpacing将失效
case splitblock(borderWidth: CGFloat = 1, borderRadius: CGFloat = 6, borderColor: UIColor = .lightGray, borderHighlightedColor: UIColor = .black, itemBackgroundColor: UIColor = .white, itemBackgroundHighlightedColor: UIColor = .white, itemSpacing: CGFloat = 10, isContinuous: Bool = false)
}