如何在UITableView中设置按钮的标题?

时间:2011-12-17 18:20:28

标签: iphone uitableview uisearchbar

我有一个UITableView并且我的数组中有数据,我也有search个功能。这是一个菜单类型的东西。有不同的菜肴,用户可以搜索任何菜,左侧这里是文字字段,其文字为0,当用户搜索一些菜然后键入其他数字然后如何将输入保存在正确的地方,因为那时它的单元格index将与原始单元格不同。你可以看到我UITableView的这张照片 enter image description here

我知道这是一个逻辑问题,但请帮助我,我被困在这里。

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

[button setTitle:@"title" forState:UIControlStateNormal];

答案 1 :(得分:0)

  1. 首先采取NSMutableArray
  2. .h文件

    NSMutableArray * searchDataArray;

    现在声明其属性并在.m文件中合成它

    2.在-(void)viewDidLoad分配您的搜索数组并保留它。

    1. [我想你可以设置搜索栏并可以调用搜索委托] ..所以在

       - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
      [sBar resignFirstResponder];
            searching = YES; //A boolean for searching condition
      [searchData removeAllObjects];
      NSString *searchText = searchBar.text;
      
      // record is a  mutable array containing the  cell text
      int count = [records count];
      for (int i=0; i<count; i++) {
      for(int j=0;j<6;j++){
      
          //finding the cell strings for checking
          recordsstr = [NSString stringWithFormat:@"%@",[records objectAtIndex:i];
          //Matching string of table and search string
      
      
          //case sensitivity checking
          NSString *mainString = [NSString stringWithFormat:@"%@",[recordsstr lowercaseString]];
          NSString *searchString = [NSString stringWithFormat:@"%@",[searchText lowercaseString]];
          NSLog(@"main String:  %@ and search string:  %@ ",mainString,searchString);
          NSLog(@"main string lenght: %d and search String lenght: %d",[mainString length],[searchString length]);
          if([mainString isEqualToString:searchString] || [mainString rangeOfString:searchString].location != NSNotFound){
              [searchData addObject:[NSNumber numberWithInt:i]];
              NSLog(@"indext after matching: %d",i);
              NSLog(@"number of date in searchdata array after matching: %d",[searchData count]);
              break;
          }
          recordsstr = nil;
      }
       }
      
    2. 在此代码中,我匹配单元格文本和搜索文本。找到细胞文本后获取细胞索引数组。

      现在搜索完成后,重新加载您的tableview [tableview reloadData]

      现在在cellForRowAtIndex检查

      if(searching == YES){
      for(int i = 0; i<[searchData count]; i++){
        if(indexPath.row is equal to [searchData objectAtIndex:i])
         {
        //change your text field
         }
       }
       else{
        //Without searching code
         }
      

      可能它会帮助你。如果有任何问题让我感到震惊。