iOS11键盘中的字符ASCII问题

时间:2017-09-21 08:54:41

标签: swift3 ios11 xcode9

我有一个应用程序,其中我只允许字符输入ascii值小于127,因此,当我输入这个' textField中的字符,在方法func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool内我得到ascii为39,但后来当我收集字符串并在将数据发送到服务器之前我逐字符检查输入字符串的ASCII,得到的ascii为'字符为8216.仅在iOS 11中发生这种情况,而在以前的iOS版本中却没有。

我查看了iOS 11的发行说明,它没有在键盘部分指定与此相关的任何内容。这是一个未知的问题。在这种情况下我该怎么做,如何在文本字段中输入文本时进行验证?

1 个答案:

答案 0 :(得分:1)

智能引号和其他功能(如智能破折号)通过UITextFieldUITextView采用的UITextInputTraits协议进行控制。

具体而言,smartQuotesType属性可以设置为.default.yes.no之一您应将此值设置为.no