10

最近アプリを更新していて、この問題に遭遇しました。検索バーに入力を開始すると、検索バーが消え、テーブル ビューしか表示されません。入力を続けることはでき、テーブル ビューは更新されますが、検索バーが表示されません。iOS < 7 でも同じ設定で問題なく動作します

なぜこれが起こっているのですか?

ステップ1 ステップ2 ステップ 3

4

4 に答える 4

8

少し遅れましたが、最近同じ問題に遭遇しました。すべての検索で検索バーを表示してアクティブにしたかったので、それをオーバーレイする淡色表示は大きな問題でした。私にとって唯一うまくいったことは、淡色表示のフレームを変更することでした (明らかに、searchResultsTableView のフレームを変更することとは異なります)。私は次のコードでそれを行うことができました:

-(void)setCorrectFrames
{
    // Here we set the frame to avoid overlay
    CGRect searchDisplayerFrame = self.searchDisplayController.searchResultsTableView.superview.frame;
    searchDisplayerFrame.origin.y = CGRectGetMaxY(self.searchDisplayController.searchBar.frame);
    searchDisplayerFrame.size.height -= searchDisplayerFrame.origin.y;
    self.searchDisplayController.searchResultsTableView.superview.frame = searchDisplayerFrame;    
}

-(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller
{
    [self setCorrectFrames];
}

-(void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller
{
    [self setCorrectFrames];
}
于 2013-10-26T13:08:18.287 に答える
3

searchResultsTableView フレームのサイズを変更してみてください

-(void)searchDisplayController:(UISearchDisplayController *)controller 
 didShowSearchResultsTableView:(UITableView *)tableView
于 2013-09-25T07:07:49.720 に答える