Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 密码保护的UITextField上的Caps Lock图像_Ios_Swift_Uitextfield_Password Protection_Capslock - Fatal编程技术网

Ios 密码保护的UITextField上的Caps Lock图像

Ios 密码保护的UITextField上的Caps Lock图像,ios,swift,uitextfield,password-protection,capslock,Ios,Swift,Uitextfield,Password Protection,Capslock,我正在创建一个需要使用USB键盘的应用程序。(普通触摸屏键盘已被禁用,不会显示。)当用户首次安装应用程序时,他们需要创建一个四位Pin。Pin的输入字段受密码保护(每次输入新数字时都会出现点)。Pin UITEXT字段仅设置为除四个数字外的其他数字。任何其他字母/数字都不会添加到UITextField。这就是它看起来的样子- 这里的问题是,当用户单击USB键盘上的caps lock按钮时,caps lock图像将显示在UITextField中。但是,该字段只接受数字,因此我不想在文本字段中显示

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


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

没有干净的方法(据我所知),但如果大写锁定出现,可以通过在上方放置白色图像来完成

这样,caps lock图像将始终隐藏


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

将虚拟视图添加到rightView完成了此操作。谢谢你的意见

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

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


但要检查caps lock是否打开,我认为没有任何正确的方法。如果用户每次键入字符时,键入的字符是大写或小写,那么您可以签入“textFieldShouldReturn”方法。

Good@Chris Diggs