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