iOSはUICTextFieldを使ってユーザーが入力した後に「リアルタイム検索」機能を実現します。


注:CSDNのコードブロックは少しすくいます。ブラウザのウィンドウが狭いなら、一行のコードが二行の位置を占めています。後ろのコードが見えなくなります。ブラウザのウィンドウを大きくしてもいいです。
UIさんが設計した検索枠はいつも多種多様で、システムの検索枠はいつも私達の需要を満足させられないので、特別に注文したいです。しかし、UITextFieldの複数のリピートのうち、検索時間をトリガするのに適したものは一つもない。UITextFieldTextDidChangeNotificationコールが頻繁すぎて、文字を入力するたびにインターフェースを調整するのはあまり適切ではないかもしれません。UITextFieldTextDidEndEditingNotificationは編集が終わった時だけ調整します。編集が終わるとキーボードが消えてしまうという意味です。あまり適切ではありません。
これでは私たちを困らせますか?もちろん違います。方法はやはりあります。
ソリューション
まず検索ボックスをカスタマイズしてスタイルを変えてから、UITextFieldTextDidChangeNotificationを待ち受けます。

- (void)textFieldDidChange{
 if (self.searchDelegate && [self.searchDelegate respondsToSelector:@selector(customSearchBar:textDidChange:)]) {
 [self.searchDelegate customSearchBar:self textDidChange:self.text];
 }
}
使用

@property (nonatomic, strong) LGCustomSearchBar *searchBar;
@property (nonatomic, assign) NSInteger inputCount;       

- (void)viewDidLoad {
 [super viewDidLoad];
 self.searchBar = [[LGCustomSearchBar alloc] initWithFrame:CGRectMake(20, 10, kScreenWidth-40, 36)];
 self.searchBar.searchDelegate = self;
 [self.view addSubview:self.searchBar];
}
- (void)customSearchBar:(LGCustomSearchBar *)searchBar textDidChange:(NSString *)searchText{
 if (searchText.length == 0) {
 [self searchKeyword:@(self.inputCount)];
 }
 else{
 self.inputCount++;
 [self performSelector:@selector(searchKeyword:) withObject:@(self.inputCount) afterDelay:1.5f];
 }
}
- (void)searchKeyword:(NSNumber *)inputCount{
	//      0                ,           
 if (inputCount.integerValue == self.inputCount && self.inputCount != 0) {
 [self loadData];
 }
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
 [self loadData];
 return NO;
}
- (void)loadData{
 self.inputCount = 0;
	//             
	...
 [self.tableView reloadData];
}
コアコード
1.5秒後に検索を行い、1.5秒後に入ってきた入力回数と現在の入力回数が一致したら、ユーザは1.5秒でもう新しい内容が入力されていないということです。新しいデータに加えます。この時間は自分で調整できます。

[self performSelector:@selector(searchKeyword:) withObject:@(self.inputCount) 
afterDelay:1.5f];
締め括りをつける
ここでiOSについてUITTextFieldを使ってユーザーが入力した後に「リアルタイム検索」機能を実現する文章を紹介します。もっと関連のios UITTextFieldはユーザー定義の検索ボックスを使ってリアルタイムで検索してください。以前の文章を検索したり、次の関連記事を引き続き閲覧してください。これからもよろしくお願いします。