UITextField_AutoSuggestion
[](https://travis-ci.org/Kassymov Shyngys/UITextField_AutoSuggestion)
示例
要运行示例项目,克隆仓库,然后首先从 Example 目录运行 pod install
。
要求
- Xcode >= 7
- iOS >= 8.0
安装
UITextField_AutoSuggestion 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile
pod "UITextField_AutoSuggestion"
用法
您可以使用库的这种方式:
-
遵循
UITextFieldAutoSuggestionDataSource
@interface ViewController () <UITextFieldAutoSuggestionDataSource>
-
将数据源设置到某个
UITextField
并开始观察变化// `fieldIdentifier` is optional self.textField.autoSuggestionDataSource = self; self.textField.fieldIdentifier = @"FIELD_ID"; [self.textField observeTextFieldChanges];
-
实现所需的数据源方法
#pragma mark - UITextFieldAutoSuggestionDataSource - (UITableViewCell *)autoSuggestionField:(UITextField *)field tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath forText:(NSString *)text { static NSString *cellIdentifier = @"AutoSuggestionCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; } // configure cell cell.textLabel.text = DATA[indexPath.row]; return cell; } - (NSInteger)autoSuggestionField:(UITextField *)field tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section forText:(NSString *)text { return DATA.count; }
-
如需要,实现可选的数据源方法
- (void)autoSuggestionField:(UITextField *)field textChanged:(NSString *)text { // can be useful in some scenarious, see example project [self loadDataFromInternet]; } - (CGFloat)autoSuggestionField:(UITextField *)field tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath forText:(NSString *)text { return 50; } - (void)autoSuggestionField:(UITextField *)field tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath forText:(NSString *)text { // do something if suggestion row selected NSLog(@"%@", DATA[indexPath.row]); }
作者
Kassymov Shyngys, [email protected]
许可
UITextField_AutoSuggestion遵循MIT许可。有关更多信息,请参阅LICENSE文件。