iOS 11 - 禁用智能引号

标签 ios uitextfield uitextview ios11

iOS 11 在输入时添加了智能引号。在 macOS 中,我们可以通过设置在 NSTextView 上禁用智能引号:

textView.automaticQuoteSubstitutionEnabled = NO;  

UITextFieldUITextView 似乎都没有此属性或 enabledTextCheckingTypes 属性。如何在 iOS 11 上禁用智能引号?

最佳答案

智能引号和智能破折号等其他功能通过 UITextInputTraits Protocol 控制UITextFieldUITextView 都采用了它。

具体来说,smartQuotesType 属性可以设置为.default.yes.no 之一.目前没有关于这些值的进一步文档,但 .yes.no 是不言自明的。我对 .default 的猜测是系统将使用 textContentTypeisSecureTextEntry 等属性来确定适当的行为。

例如,文本内容类型的电子邮件、密码或 URL 可能默认禁用智能引号,而职位可能默认启用。我想安全文本输入字段也会默认禁用智能功能。

为您的输入 View 设置合适的文本内容类型可以显着改善用户体验,强烈推荐。

关于iOS 11 - 禁用智能引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44932863/

相关文章:

objective-c - 使用 NSFetchedResultsController 的应用程序因 NSRangeException _PFBatchFaultingArray 而崩溃

ios - 分支测试/实时链接未按预期工作

ios - 带有多个子ManagedObjectContexts和NSManagedObjectContextDidSaveNotification的罕见崩溃

ios - 如何将字典的内容转储到 UITextView 或 UILabel 中?

ios - 带有 UITextView 的单元格的初始滞后

iphone - 键盘、方向和 UITextView

ios - 适用于 iOS 4.0 的 Facebook SDK

ios - Swift UITableview 编辑文本框中的不同值

objective-c - UITextView:我必须总是 resignFirstResponder 吗?

uitextfield - tvOS UITextField 编辑后空白