受密码保护的 UITextField 上的大写锁定图像

Caps Lock Image on Password Protected UITextField

我正在创建一个需要使用 USB 键盘的应用程序。 (普通触摸屏键盘已被禁用,不会显示。)当用户首次安装该应用程序时,他们将需要创建一个四位数的 Pin。 Pin 的输入字段受密码保护(因为每次输入新数字时都会出现点)。 Pin UITextField 设置为只有四位数字除外。任何其他 letters/numbers 都不会添加到 UITextField。这是它的样子 -

Link to the image.

这里的问题是当用户点击 USB 键盘上的大写锁定按钮时,大写锁定图像将出现在 UITextField 中。但是,该字段只接受数字,所以我不关心在文本字段中显示大写锁定图像。有什么方法可以删除大写锁定图像吗?

没有干净的方法来做到这一点(据我所知),但可以通过在大写锁定出现的地方放置一个白色图像来完成。

这样,大写锁定图像将始终被隐藏。

确保将 NSImageView 控件放在 NSSecureTextView 控件之后(在 UI Builder 中),以便在绘制 NSSecureTextView 控件之后绘制图像。

向 rightView 添加一个虚拟视图就成功了。感谢您的输入。

textField.rightView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))

您可以按照下面给出的示例代码中给出的方式将图像添加到文本文件中:

但是要检查大写锁定是否打开,我认为没有任何正确的方法可以做到这一点。也许你可以在 "textFieldShouldReturn" 方法中检查输入的字符是大写还是小写,每次用户输入字符时。