2011-11-04 11 views
6

何とか私は、なぜデフォルトアニメーションが失敗するのか知っています。UISearchBarシフトしていない

私の検索バーは、想定どおりにシフトしませんでした。

ビューはUIViewにありますが、これが問題なのかどうか疑問に思っています。

は、IBのレイアウト

enter image description here enter image description here enter image description here

+0

私はあなたの問題を理解していません –

+0

こんにちはvijay、私は検索バーをタップすると、それは最初の画像のように押し上げる必要があります。しかし、私のsearchbar(2番目の写真)はnav barを押し上げたが、上には移動しなかった。 – Desmond

+0

何を押し上げるべきか?キーボード?私はまだあなたの問題を理解していない。 – Robert

答えて

11

検索バーは、実際に 'プッシュアップ' アニメーションで移動しませんが含まれています。むしろ、ナビゲータが上がっている間、それはその場にとどまり、それによって、残りのビューを引っ張り出します。デリゲート(UISearchBarDelegate)として登録し、これらの呼び出しに応答することによって、検索バーをコード内で手動で移動することができます。

#pragma mark - UISearchBarDelegate Methods 
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar { 
    //move the search bar up to the correct location eg 
    [UIView animateWithDuration:.4 
       animations:^{ 
        searchBar.frame = CGRectMake(searchBar.frame.origin.x, 
                0, 
                searchBar.frame.size.width, 
                searchBar.frame.size.height); 
       } 
       completion:^(BOOL finished){ 
        //whatever else you may need to do 
       }]; 
} 

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar { 
    //move the search bar down to the correct location eg 
    [UIView animateWithDuration:.4 
       animations:^{ 
        searchBar.frame = CGRectMake(searchBar.frame.origin.x, 
                /*SearchBar original Y*/, 
                searchBar.frame.size.width, 
                searchBar.frame.size.height); 
       } 
       completion:^(BOOL finished){ 
        //whatever else you may need to do 
       }]; 
} 
+0

こんにちはAndrew、これは私がやりたいと思うワットです:) は7時間で賞金を授与されますので、今すぐ賞を受けることはできません:( – Desmond

+0

この問題を解決するのを手伝ってください。 http://stackoverflow.com/questions/8027984/how-to-have-a-overlay-on-top-of-a-select-uitabbar-item および http ://スタックオーバーフロー。com/questions/8028411/which-event-get-when-you-click-on-the-the-the-the-the-urisearchbar-to-first-respo – Desmond

1

質問の最初の画像では、使用中のUISearchDisplayControllerが表示されています。その正確なアニメーションを実現するには、UISearchDisplayControllerを使用してUISearchBarを変更して、カスタムのように見えるようにする必要があります。 Interface BuilderでUISearchDisplayControllerをドラッグし、コードを使用してsearchBarプロパティを変更できます。

self.searchDisplayController.searchbarは、すべてがInterface BUilderで正しく接続されている場合に変更されます。

2

UISearchBarUISearchDisplayController次のAppleのガイドラインを実施するための最良の方法は、TableSearchと呼ばれる例を見ている、説明が書かれています:

が UISearchBarとUISearchDisplayControllerを使用してのUITableViewの内容を検索する方法を示し、 で効果的にフィルタリングし、そのテーブルの内容を出力します。 iPhone/iPod Touchの アプリケーションに大量のテーブルデータがある場合、このサンプルでは、​​メモリ使用量に問題がある場合は をフィルタリングして管理しやすい量に減らします。

私はこれがあなたを助けてくれることを願っています。

+0

こんにちはエルヴィスは答えに感謝します、私は検索ディスプレイを使用していますコントローラ。 – Desmond

+0

私の答えは5時間前のものです –

関連する問題