use*_*097 5 objective-c uitextfield uitextview ios uitextfielddelegate
我开始使用text fields,我希望使用自定义自动完成功能实现功能.
在很多博客和答案中,实现它UITables以显示自动完成,但我不需要这个,我需要创建一个像iPhone一样的自动完成功能,其中显示了一个带有过滤器但只有我的数组字符的弹出窗口.
例如.
my_array = @{"apple","banana","pear","orange","berry"}
Run Code Online (Sandbox Code Playgroud)
当我输入"app"时,文本字段只需要显示"apple"但不完整的文本text field,应显示弹出的自动完成.
像这样的东西,但只有我的阵列.

小智 5
您可以使用这些UITextFieldDelegate方法自己构建此行为(在您的实现中实现委托)UIView
@interface someViewController : UIViewController <UITextFieldDelegate>
Run Code Online (Sandbox Code Playgroud)
在此过程中,您可以访问用户输入的内容
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
Run Code Online (Sandbox Code Playgroud)
您可以将其与数组中的项目进行比较,并显示另一个UIView或自定义按钮,选中该按钮时会填充文本字段.
不要忘记告诉你textfield的委托应该是谁,可能在你的viewDidLoad方法中,但也可以在xib视图中完成
myTextField.delegate = self;
Run Code Online (Sandbox Code Playgroud)
我知道这似乎很费劲,但会非常令人满意.下面是苹果文档的UITextViewDelegate
| 归档时间: |
|
| 查看次数: |
7923 次 |
| 最近记录: |