gpt4 book ai didi

ios - 如何用swift动态屏蔽文本字段

转载 作者:行者123 更新时间:2023-11-28 13:39:14 27 4
gpt4 key购买 nike

我正在尝试根据输入的字符数为文本字段使用动态掩码。

我尝试使用 VMaskTextField、AKMaskField,现在我正在使用 InputMask ( https://github.com/RedMadRobot/input-mask-ios ),但我只能使用其中一个掩码。我想掩码为###.###.###-## 或##.###.###/####-## 但我无法在用户类型。我关注了两个 wiki 帖子 https://github.com/RedMadRobot/input-mask-ios/wiki/Quick-Starthttps://github.com/RedMadRobot/input-mask-ios/wiki/2.1-Affine-Masks .

这里是我的实际代码:

 @IBOutlet var btnEntrar: UIButton!
@IBOutlet var txtCpfCnpj: UITextField!
@IBOutlet var listener: MaskedTextFieldDelegate!

override func viewDidLoad() {
super.viewDidLoad()
listener.affinityCalculationStrategy = .prefix
listener.primaryMaskFormat = "[000].[000].[000]-[00]"
listener.affineFormats = [
"[00].[000].[000]/[0000]-[00]"
]

}

这是主要的 Storyboard:

Main.storyboard

我按照 wiki 帖子中的建议创建了监听器,它现在可以正常工作了。该字段不接受超过 11 个字符,对应第一个掩码 ([000].[000].[000]-[00])

有谁知道如何以任何其他方式或使用某些框架来使用此动态掩码?

谢谢

最佳答案

InputMask 作者在这里。

MaskedTextFieldDelegate 根据其 AffinityCalculationStrategy 在可用掩码之间切换.根据您的代码,您使用的是 .prefix 策略,除非最终用户自己键入该点符号,否则该策略不会起作用。

不幸的是,您目前可用的第二种策略(.wholeString 策略)也不会帮助您。

在我看来很明显,该库目前还缺少一个基于输入值长度的 AffinityCalculationStrategy。我将在本周末添加它,敬请期待。

更新。我做了一个feature request关于此功能。

关于ios - 如何用swift动态屏蔽文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56240708/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com