如何在 Objective-C 中的 UITextField 中每次更改后调用一个动作?

Posted

技术标签:

【中文标题】如何在 Objective-C 中的 UITextField 中每次更改后调用一个动作?【英文标题】:How To call an Action after each changing in UITextField In Objective-C? 【发布时间】:2017-08-20 10:27:34 【问题描述】:

我的应用中有一个搜索框。它的类是 UITextField 而不是 UISearchBar。我想将其设置为搜索栏。对于当时输入的每个字符串,使用该字符串执行 (void)Search 函数。但我不知道该怎么做。事实上,我想在输入每个字符后调用 (void)Search。

-(void)textFieldDidBeginEditing:(UITextField *)textField

    [self Search];


-(void)textFieldDidEndEditing:(UITextField *)textField

    [self Search];

【问题讨论】:

【参考方案1】:

您可以使用 shouldChangeCharactersInRange 获取当前用户输入

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

    NSString * searhQuery = [[textField text] stringByReplacingCharactersInRange:range withString:string];

  [self Search:searhQuery];

    return YES;

【讨论】:

shokran seyedi. @SaMiGiMiX 如果回答了您的问题,请将此答案标记为正确 @MohammadBashirSidani 我做了,但起初 8 分钟系统不允许我这样做。

以上是关于如何在 Objective-C 中的 UITextField 中每次更改后调用一个动作?的主要内容,如果未能解决你的问题,请参考以下文章

无法更改 UIText 视图的字体(使用 Web 服务时)

根据内容大小属性设置 UIText 视图的宽度

从 UIText 字段的用户输入更改 UIView 框架的高度和宽度

委托如何工作和委托在objective-c中的工作流程

如何从Javascript调用Objective-C方法并将数据发送回iOS中的Javascript?

如何在 Objective-C 中的 UISlider 上添加标记? [关闭]