我开始使用text fields
,我希望使用自定义自动填充功能实现功能。
在很多博客和答案中,用UITables
来实现它以显示自动完成,但我不需要这个,我需要创建一个像iPhone一样的自动完成功能,其中显示了一个带有过滤器的弹出窗口但只有我的一系列文字。
例如。
my_array = @{"apple","banana","pear","orange","berry"}
当我输入“app”时,文字字段只需要显示“apple”但不完整text field
中的文字,应显示弹出的自动填充功能。
像这样的东西,但只有我的阵列。
答案 0 :(得分:5)
您可以使用UITextFieldDelegate
方法自行构建此行为
(在UIView
@interface someViewController : UIViewController <UITextFieldDelegate>
执行此操作即可访问用户在
中输入的内容- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
您可以将其与数组中的项目进行比较,并显示另一个UIView
或自定义按钮,选中该按钮时会填充文本字段。
请勿忘记告诉您的textfield
代理人应该是谁,可能在您的viewDidLoad
方法中,但也可以在xib视图中完成
myTextField.delegate = self;
我知道这似乎很费劲,但会非常令人满意。
这是UITextViewDelegate
答案 1 :(得分:1)
我几天前实现了自定义自动完成文本字段,而raywenderlich教程很有帮助。
您可能需要实现自己的表格视图,使其看起来像您附加的屏幕。简短的教程将让您了解应该如何完成。如果你愿意,我明天会发布我的代码。