ios - 在 iOS 的 tableview 中动态搜索

标签 ios objective-c uitableview uitextfield nspredicate

我有一个 tableview 和文本字段,我在其中实现了搜索方法。现在,当我在 textfield 中写入一些值并单击搜索按钮时,它会在 tableview 中进行搜索。但是,我希望它是动态的,这意味着当我开始在 textfield 中输入时,它应该开始搜索而无需单击任何 button

我该怎么做?

最佳答案

在ios中实现动态搜索,我们也可以使用文本框作为搜索栏。

转到 StoryBoard 并进行以下更改

  1. 将文本框添加到 View Controller 并分配 socket 和委托(delegate)。
  2. 现在到 viewcontroller.m 并粘贴以下代码

-(void)textFieldDidChange:(UITextField *)textField
{
    searchTextString=textField.text;

    [self updateSearchArray:searchTextString];
}


-(void)updateSearchArray:(NSString *)searchText
{
    
    if(searchText.length==0)
   {
        isFilter=NO;    }
    else{
      
       isFilter=YES;
        
       searchArray=[[NSMutableArray alloc]init];
        
        for(NSString *string in responceArray){

        NSRange stringRange = [[NSString stringWithFormat:@"%@",string]
                               rangeOfString:searchtext.text options:NSCaseInsensitiveSearch];
            
        if (stringRange.location != NSNotFound) {
            [searchArray addObject:string];

        }
            
        }
        
        [jobsTable reloadData];
    }
    
    }

关于ios - 在 iOS 的 tableview 中动态搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34209175/

相关文章:

iphone - iOS 中的 NSData 和通过 POST 上传图片

ios - 用于 'if not' 的 Objective-C 预处理器指令

ios - 如何从 iOS 中的 XMPP 服务器删除特定用户的聊天记录?

objective-c - 仅包含 C(或最小 ObjC..)的 ObjC 文件

ios - -[UIPickerTableView _createPreparedCellForGlobalRow :withIndexPath:],/SourceCache/UIKit_Sim/UIKit-2903.2/UITableView.m:7768 断言失败

ios - 从可重用的 UITableViewCell 对象开始视频播放

ios - 系统 iOS 更新后 React Native 应用程序在启动时崩溃

ios - Mapkit - 存在多边形时无法渲染过度缩放的自定义图 block

ios - 创建多个按钮而不重复代码?

json - 在TableView上执行搜索后,应用程序崩溃