1. 输入框连续输入不调用接口, 停止输入再调用接口, 设置节流阀
2. 输入框输入拼音时, 当点击确定汉字再调用搜索接口
完整代码
#import "ViewController.h"
@interface ViewController ()
@property (nonatomic, copy) NSString *searchKey;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UITextField *searchTextField = [[UITextField alloc] initWithFrame:CGRectMake(24, 100, 200, 45)];
searchTextField.placeholder = @"请输入";
searchTextField.layer.borderColor = [UIColor grayColor].CGColor;
searchTextField.layer.borderWidth = 1;
[self.view addSubview:searchTextField];
[searchTextField addTarget:self action:@selector(actionSearchTxtField:) forControlEvents:(UIControlEventEditingChanged)];
}
- (void)actionSearchTxtField:(UITextField *)textField {
UITextRange *txtRange = [textField markedTextRange];
if (!txtRange) {
_searchKey = textField.text;
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(requestNet) object:nil];
[self performSelector:@selector(requestNet) withObject:nil afterDelay:0.5];
}
}
- (void)requestNet {
NSLog(@"searchKey = %@", _searchKey);
}
@end