iOS 8 不再支持 UITextAutocapitalizationTypeNone

标签 ios cocoa-touch

我有一个外语词典类型的应用程序,允许使用输入音译(到英语)的单词。绝大多数条目是小写的,但有一些条目是大写的。从 IOS 8 开始,搜索栏不再识别 UITextAutocapitalizationTypeNone。这对最终用户造成相当大的挫败感。有没有关闭初始资本化的实用策略?目前它在 UISearchBar

的 Storyboard设置中处于关闭状态

这是一个现有的应用程序,最初是为 iOS 6 编写的。当前的 Apple 文档指出,从 iOS 2 到 iOS 7.1 都可以使用 AutocapitalizationType。用户在迁移到 iOS 8 后报告了更改。

最佳答案

autocapitalizationType 实际上并未弃用。文档具有误导性。在 iOS 8.0 之前,UISearchBar 具有 autocapitalizationType 属性。从 iOS 8 开始,该属性已被删除,但添加了 UITextInputAttributes 协议(protocol)。此协议(protocol)提供 autocapitalizationType 属性。所以实际上没有任何改变。该属性仍然存在,只是声明方式不同。

如果 Storyboard没有提供设置 autocapitalizationType 属性的有效方法,请在代码中设置它:

self.someSearchbar.autocapitalizationType = UITextAutocapitalizationTypeNone;

关于iOS 8 不再支持 UITextAutocapitalizationTypeNone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26965801/

相关文章:

iphone - 什么是 UIGobblerGestureRecognizer?

ios - UITableViewCell addTarget 中的按钮不起作用

ios - 如何根据 UIScrollview 内的按钮框架大小水平滚动 UIScrollView

ios - 在 TextView 中显示多行

ios - 如何从 Sprite Kit 场景中引用当前的 Viewcontroller

ios - 使用 NSURLSession 等待 HTTP 请求的响应 - Objective C

iphone - Unicode 字符未显示

iphone - 当特定的 nsdate 已过时触发方法

android - 最安全的移动数据库策略

ios - 为我的 flutter 应用程序运行 IOS 模拟器的问题