1

次のように、レイアウトで2つの検索バーを重ねて使用しています。

ダブル検索バー

どちらの検索バーにも、提案テーブルを表示する UISearchDisplayController があります。

私の問題は、上部の検索バーのディスプレイ コントローラーが、次のように下部の検索バーの上に UITable を描画することです。

ボトムバーの上に描く

次のように、uisearchdisplaydelegate で一番下のテーブルを下に移動しようとしました。

- (void)searchDisplayController:(UISearchDisplayController *)controller      
didLoadSearchResultsTableView:(UITableView *)tableView
{
float yOffset = 50.0f;
tableView.frame =  CGRectMake(tableView.frame.origin.x,tableView.frame.origin.y + yOffset,tableView.frame.size.width, tableView.frame.size.height);                                  
}

しかし、メソッドが適切なタイミングで呼び出されたとしても、何もしていないようです。

Id 基本的に、上部の検索バーの提案テーブルが下部の検索バーの提案テーブルと同じ位置にあるようにします

ストーリーボードと自動レイアウトの最新の xcode を使用しています

4

1 に答える 1

0

iOS 7 では、y 原点を yOffset に設定するだけです。テーブルビューのフレームを印刷する場合

-(void)searchDisplayController:(UISearchDisplayController *)コントローラー didShowSearchResultsTableView:(UITableView *)tableView

origin.y が 0,0 であることがわかります。ただし、iOS 6 では異なります。両方のバージョンをサポートする予定がある場合は、そこにチェックインする必要があります。上記のデリゲート メソッドで origin.y を設定してみてください。

于 2013-09-25T21:42:29.367 に答える