UITextField自动完成
是否可以根据输入的内容自动完成UITextField? 我需要这个的原因是因为我有一组用户需要选择的预定义单词,而且列表大约是1000项。 我想在UITableView中显示并让用户选择但是在表格列表中有1k项目我认为不是一个好主意。 谢谢
您可以通过不在表视图中显示所有1k项目来执行此操作,但是当用户开始在文本字段中键入字母时,您可以填充表格视图。 为此,您必须将所有项目放在某些数据结构或数据库中,您可以使用某些排序或查询来获取与用户输入内容相关的项目。 例如,如果用户开始从’a’键入字母,则获取具有字母a的项目并使用它们填充表格。 执行此操作的一种方法是将所有内容放在数据库和UITextField
委托中
- (void)textFieldDidBeginEditing:(UITextField *)textField
启动一个NSTimer
对象,该对象将每隔一秒调用一个函数,该函数将从数据库中为您提供所选数据,并使用该数据填充表。
你还必须在UITextField
委托中停止该计时器 –
- (BOOL)textFieldShouldReturn:(UITextField *)textField
要么
-(void) textFieldDidEndEditing:(UITextField *)textField
您需要利用TextFieldTextDidChange
,如下所述: 如何为UITextField获取textDidChange(对于UISearchBar)方法? 但是你是如何呈现可用的集合,我不太确定……你可以保持表空,直到输入X字符,然后搜索匹配以填充你的(现在较小的)表格