0

最近問題が発生しました。私のアプリケーションには、2つのタブにUISearchDisplayControllerが含まれているtabBarがあります。両方のsearchDisplayControllerを調べてからタブを切り替えると、同じ結果(どちらか一方のsearchDisplayControllerの最後の検索)が表示されます。これを回避する方法はありますか?ありがとう !

4

1 に答える 1

0

これらは、UISearchDisplayDelegateの同じデリゲートメソッドに対応します。これを防ぐためにタグを割り当てるか、選択したタブバーのインデックスを読み取って、ユーザーがどこにいるかを確認できます。

ブレークポイントを設定して、両方のsearchDisplayControllerがテーブルを同時にリロードするかどうかを確認します。

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption {
   //selected index of tabbar is the right one return yes
   if(self.tabBarController.selectedIndex ==1){
   return YES;
   }else{
   return NO;
   }
   //else no
 }

間違ったデリゲートをリロードしないようにします。

于 2012-10-23T13:01:48.143 に答える