IOS 8不再支持UITextAutocapitalizationTypeNone

Bil*_*ill 9 cocoa-touch ios

我有一个外语词典类型的应用程序,允许使用输入音译(英语)的单词.绝大多数条目都是小写的,但有一些条目是大写的.从IOS 8开始,搜索栏不再识别UITextAutocapitalizationTypeNone.这会给最终用户带来相当大的挫败感.是否有任何实用的策略来关闭初始资本化?目前它已在故事板设置中关闭UISearchBar

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

rma*_*ddy 14

autocapitalizationType实际上并没有被弃用.这些文档具有误导性.在iOS 8.0之前,UISearchBar拥有该autocapitalizationType属性.从iOS 8开始,该属性已被删除,但UITextInputAttributes协议已添加.该协议提供了该autocapitalizationType属性.所以没有改变.该属性仍然存在,它只是声明不同.

如果故事板没有提供设置autocapitalizationType属性的工作方式,请在代码中设置它:

self.someSearchbar.autocapitalizationType = UITextAutocapitalizationTypeNone;
Run Code Online (Sandbox Code Playgroud)

  • 在Swift中使用UITextAutocapitalizationType.None (3认同)