2017-05-08 85 views
0

我正在创建一个需要使用USB键盘的应用程序。 (正常的触摸屏键盘已被禁用,并且不会显示。)当用户第一次安装应用程序时,他们需要创建一个四位数Pin。 Pin的输入字段是密码保护的(因为每次输入新数字时都会出现点)。 Pin UITextField设置为除四位数字外。任何其他字母/数字不会被添加到UITextField中。这是什么样子 -受密码保护的大写锁定图像UITextField

Link to the image.

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

回答

1

在右侧添加一个虚拟视图视图取得了诀窍。感谢您的意见。

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

有没有干净的方式做到这一点(我知道),但它可以通过放置一个白色的图像,如果大写锁定出现。

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

确保将NSImageView控件放置在NSSecureTextView控件(在UI构建器中)后,以便在绘制NSSecureTextView控件后绘制图像。

0

您可以将图像添加到textfiled像在示例代码中给出的方式给出如下:

Swift add icon/image in UITextField

但是,检查是否启用了Caps Lock与否,我认为有没有任何正确的方法来做到这一点。如果输入的字符是大写或小写,那么当用户输入一个字符时,每次都可以检查“textFieldShouldReturn”方法。