swift - iOS 15 - 将 unicode 字符文本分配给将 isSecureTextEntry 设置为 true 的 UITextField 无法按预期工作
问题描述
我正在开发一个项目,该项目具有密码文本字段,就像 OTP 文本字段一样,它只允许安全文本字段中的一个字符。
在这方面也支持退格。当文本字段成为第一响应者时,将添加 unicode 字符 @"\u200B" 作为文本字段的文本。
我的问题是,它可以正常工作到 iOS 14,但不能在 iOS 15中,安全文本字段中的 unicode 字符将其作为字符并在文本字段上显示文本。
仅当文本字段允许安全文本输入时才会出现此问题。
以下是我在演示项目中用于显示问题的代码:
- (void)viewDidLoad {
[super viewDidLoad];
[txtUser setSecureTextEntry:false];
[txt1 setSecureTextEntry:true];
txtUser.text = @"\u200B";
txt1.text = @"\u200B";
}
在上面的代码中,txtUser 不允许安全文本输入,但txt1 允许安全文本输入。
以下是 iOS 14 和 15 的屏幕截图:
iOS 14 结果:
正常:https ://i.stack.imgur.com/l2ZPd.png
颜色混合层:https ://i.stack.imgur.com/XupKH.png
iOS 15 结果:
正常:https ://i.stack.imgur.com/Wtj46.png
颜色混合层:https ://i.stack.imgur.com/MB33H.png
我希望 iOS 15 中的结果与 iOS 14 中的结果相同。我搜索了很多解决方案,但还没有找到正确的解决方案!
谢谢!!
解决方案
推荐阅读
- gnuplot - 如何根据 gnuplot 中的数据更改点类型
- excel - 如何使用 NPOI asp.net 将数据库中的文件生成为 excel?
- node.js - 需要 NPM 包时的变量
- javascript - 如何将包含变音符号(ö)的值保存为 JavaScript 中的 cookie,然后在 Asp.Net MVC 控制器中检索?
- c++ - 除以 float 1 和 int 1 时显示不同的结果
- node.js - 是否有处理nodejs ftp错误的明确方法
- python - 如何卸载通过源文件安装的特定版本的 Python?
- linux - 如何以柱状方式使用 printf 格式化可变输出
- raspbian - Omxplayer 正在使用 Pi OS 挂起所有系统
- c++ - 如何重载运算符“<<”以在一种情况下输出整数值,在另一种情况下输出字符值?