2

こんにちは、いくつかの UITableView があります。各テーブルに検索バーを追加したい。

そこで、UISearchbars に 2 つのテーブルを追加しました。

追加しただけsearchbarsで、追加しませんでしたUISearchbarDisplaycontroller

ユーザーが検索バーに何かを入力してキーボードの検索ボタンを押すと、検索結果が別のものNSMutableArrayになり、元の配列に割り当てられます。次に、UITableView

私のコードによると、その作業。何かを入力して検索ボタンを押すと、テーブルが新しいデータでリロードされます。しかし、今の問題は、セルをクリックできないことです。メソッドを呼び出していないようdidselectRowatIndexです。しかし、セル内にあるボタンは正しくクリックできます。セル クリック イベントのみが呼び出されていません。

この理由は何でしょうか。私を助けてください

ありがとう

編集

.h
@interface HomeViewController : UIViewController<UITabBarDelegate,UITableViewDataSource,UITableViewDelegate,FPPopoverControllerDelegate,AVAudioPlayerDelegate,UISearchBarDelegate>

ViewDidload

searchbarAllusers.delegate=self;
searchbarAllusers.showsCancelButton = YES;
searchbarArtists.delegate=self;
searchbarArtists.showsCancelButton=YES;

Search delegates

-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar3
{
    if (searchBar3.text.length==0) {
        isSearch=NO;
    }
    else
    {
        isSearch=YES;
        if (searchBar3.tag==1) {
            [self filterListForSearchText:searchBar3.text :@"USR"];
        }

        else if (searchBar3.tag==2)
        {
            [self filterListForSearchText:searchBar3.text :@"ARTIST"];
        }

        [searchBar3 resignFirstResponder];
    }
}

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar2
{
    [searchBar2 resignFirstResponder];
    isSearch=NO;

    if (searchBar2.tag==1) 
    {
            tblAddFriends.delegate=self;
            searchbarAllusers.delegate=self;
            tblAddFriends.allowsSelection=YES;
        [tblAddFriends reloadData];
    }
    else if (searchBar2.tag==2)
    {
        arrArtistList=artistTemparray;
        tblArtists.delegate=self;
        searchbarArtists.delegate=self;
        tblArtists.allowsSelection=YES;
        [tblArtists reloadData];
    }   
}  
- (void)filterListForSearchText:(NSString *)searchText : (NSString *)status
{
    [searchResult removeAllObjects];
    if([status isEqualToString:@"USR"])
    {
        searchResult=[ws SearchItems:searchText :status];
        [tblAddFriends reloadData];
    }
    else if([status isEqualToString:@"ARTIST"])
    {
        searchResult=[ws SearchItems:searchText :status];
        [tblArtists reloadData];
    }
}
4

0 に答える 0