2012-04-20 14 views
0

私はUISearchBarを使用していますが、検索は完璧ですが、キャンセルボタンをクリックして検索した後、didSelectedRowAtIndexPathがUItableViewで機能しません。さらに進む行を選択できません。UISearchBarのキャンセルボタンをクリックすると、tableViewで選択されません。

ここ

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar 
{ 
    isSearchOn = YES; 
    canSelectRow = NO; 
    table.scrollEnabled = NO; 
} 

- (void) doneSearching:(id)sender 
{ 
    isSearchOn = NO; 
    canSelectRow = YES; 
    table.scrollEnabled = YES; 
    self.navigationItem.rightBarButtonItem = nil; 

    [table reloadData]; 
} 

- (void)searchBar:(UISearchBar *)searchBar 
    textDidChange:(NSString *)searchText 
{ 
    if ([searchText length] > 0) { 
     isSearchOn = YES; 
     canSelectRow = YES; 
     table.scrollEnabled = YES; 
     [self searchMoviesTableView:searchText]; 
    } 
    else { 
     isSearchOn = NO; 
     canSelectRow = NO; 
     table.scrollEnabled = NO;  
    } 
    [table reloadData]; 
} 

- (void) searchMoviesTableView :(NSString*)searchText{ 
    [searchResult removeAllObjects]; 

    for (NSDictionary *artistDic in listOfMovies) { 
     NSRange titleResultRange = [[artistDic valueForKey:@"artist"] rangeOfString:searchText options:(NSCaseInsensitiveSearch | NSLiteralSearch)]; 
     if (titleResultRange.length > 0) 
      [searchResult addObject:artistDic]; 
    } 
} 

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 
{ 
    searchBar.text = @""; 
    table.scrollEnabled = true; 
    [table reloadData]; 
    [searchBar resignFirstResponder]; 
} 

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 
    [searchBar resignFirstResponder]; 
} 

答えて

1

は私のミスです...

else { 
    isSearchOn = NO; 
    canSelectRow = NO; 
    table.scrollEnabled = NO;  
} 

set canSelectRow=YES; 
0

私はあなたが呼び出していることに気づい:searchBarCancelButtonClicked:

searchBar.text = @""; 

を、searchBar:textDidChange:の別の呼び出しにつながる可能性があります。 searchBar:textDidChange:では、設定:長さ(@""ための真である)0である文字列の

canSelectRow = NO; 

を。私は根本的な原因があるのだろうか?

+0

答えをいただきありがとうございますが、私は1つしか受け入れることができません...!そして、私は答えを得ました。 – Warewolf

関連する問題