objective-c - 当我点击 didSelectRowAtIndexPath 时,UISearchBar 中的自动更正会干扰

标签 objective-c uisearchbar didselectrowatindexpath autocorrect

我有一个通常可用的搜索栏。当我在 iPhone 上测试时,问题就来了,自动更正开始了。我将搜索栏设置为如果查询栏中的文本长度 > 4,那么它会开始将内容放入 searchResults 数组。如果有来自自动更正的建议,而我忽略它并从数组中选择一些内容,应用程序就会崩溃。我追查到错误是在行选择之​​前选择了自动更正的词(但都完成了),所以我认为我正在访问的 searchResults 数组不再有效。

例如,我在搜索栏中输入“demp”。自动更正建议“演示”。同时,搜索返回一堆包含“dempster”的结果。我选择第一个。当我这样做时,搜索会在“演示”下重新搜索并清除原始数组(请记住,我会查看服务器进行搜索,因此数组不会重新填充)。然后 didSelectRowAtIndexRow 方法触发,数组中没有任何内容,它崩溃了。

有什么想法吗?提前致谢。

最佳答案

由于您使用的是搜索栏,因此不应有自动更正功能,人们希望找到他们正在寻找的内容,而不是某些字典告诉他们要查找的内容。简单设置

searchBar.autocorrectionType = UITextAutocorrectionTypeNo;

问题就解决了。

关于objective-c - 当我点击 didSelectRowAtIndexPath 时,UISearchBar 中的自动更正会干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8608529/

相关文章:

IOS7 后台获取触发器太晚了

swift - iOS 13 - 当 Search Active Push 到其他 VC 时,VC UITableView 在 Swift 4 的 NavigationBar 下

iphone - 如何在iPhone中实现内容搜索?

ios - 如何在 didSelectRowAt indexPath 中选择正确的实体

iphone - 如何使用左侧或右侧移动UILabel?

ios - 从 presentViewController 推送到 UIViewController

objective-c - 如何在 Xcode 和 Interface Builder 中向小菜单添加右键单击选项?

uisearchbar - UISearchDisplay 问题 - 向下移动

ios - didSelectRowAtIndexPath 在带有侧边菜单的 ios6 中不起作用

ios - 使用标识符执行Segue :method called from didSelectRowAtIIndexPath slow to show view