2011-01-14 12 views
0

イメージには申し訳ありませんが、私の問題を説明するには良い方法はありません。 これはアプリケーションを起動すると表示され、すべて正常です。 alt text これは私が電話機を回転させると、検索バーの上部がナビゲーションバーの少し下になりました。 alt text 検索を開始してキャンセルします。 alt text 検索バーはナビゲーションバーでは表示されませんが、ナビゲーションバーの高さは小さくなります。 alt text 私がバクーに行ったとき、ナビゲーションバーはまだ小さく、その下にブラックホールがあります。 alt text なぜ、これが起こっているのかわかりません。SearchBarローテーションの問題

これは、私が作成し、検索バーを追加する方法のコードです:

- (void) loadView 
{ 
    [super loadView]; 

    sBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,0,320,45)]; 
    sBar.delegate = self; 
    sBar.placeholder = @"Search";  
    self.tableView.tableHeaderView = sBar; 

    UISearchDisplayController *searchDC = [[UISearchDisplayController alloc] initWithSearchBar:sBar contentsController:self]; 

    self.searchDisplayController = searchDC;  

    searchDC.delegate = self; 
    searchDC.searchResultsDataSource = self; 
    searchDC.searchResultsDelegate = self; 

    [sBar release]; 
    [searchDC release]; 
} 

私は特にナビゲーションや検索バー用の回転方法には何も変化しませんでした。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 

そして、彼らは正しいフレームOK設定されていない場合:

+0

画像は大丈夫ですが、コード/ xibなしでは手助けできません –

+0

検索バーを追加する方法をコードで更新しました。 – 1110

答えて

3

は、内のすべてのあなたの意見フレームを確認してください。

+0

私はそれを作っていませんでしたが、少し違うように修正しました。 'shouldAutorotateToInterfaceOrientation'メソッドでは、アプリケーションが垂直/水平ビューに来るたびに、ナビゲーションバーのサイズをデフォルトに変更します。私の必要を満足させる。 – 1110

0

最も簡単な解決策は、UISearchBarUITableViewヘッダーに追加することです。この場合、すべてのスタッフは箱から処理されます。

フレームを設定すると、ビューの切り替えと回転中にUISearchBarの幅に問題が発生する可能性があります。私はタブベースのアプリでこの問題を経験しました。ええ、テストケースは再現するのが簡単ではありませんが、それはバグです。

関連する問題