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