2011-11-04 85 views
6

不知何故,我知道爲什麼默認動畫失敗。UISearchBar不會向上移動

我的搜索欄沒有按原本的方式向上移動。

該視圖是在UIView,我想知道如果這是問題。

包括IB佈局

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

+0

請詳細說明問題我不理解你的問題 –

+0

嗨維傑,當我點擊搜索欄時,它應該像第一張圖片一樣推高。但是我的搜索欄(第二張圖片)推高了導航欄,但沒有移動到頂部 – 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

嗨安德魯,謝謝你是我想做的事情:) 會在7小時內獎勵你賞金時間,現在不能獎勵你:( – Desmond

+0

它會好的你幫我解決這個問題。 http://stackoverflow.com/questions/8027984/how-to-have-a-overlay-on-top-of-a-select-uitabbar-item and http ://堆棧溢出。com/questions/8028411 /哪些事件得到稱爲當你點擊在uisearchbar致電首先響應 – Desmond

1

在您的問題的第一張圖片中,您顯示的是正在使用的UISearchDisplayController。爲了獲得精確的動畫,您需要使用UISearchDisplayController並將其修改爲UISearchBar,使其看起來像您製作的自定義動畫。您可以在Interface Builder中拖動UISearchDisplayController,然後使用代碼更改其searchBar屬性。

self.searchDisplayController.searchbar將被修改,如果你已經在Interface Builder中正確連接了所有東西。

2

實現一個UISearchBarUISearchDisplayController下蘋果的指導方針,最好的辦法是看所謂TableSearch的例子中,描述說:

演示如何搜索使用 的UISearchBar和UISearchDisplayController一個UITableView中的內容,在 中進行有效篩選,然後輸出該表的內容。如果iPhone/iPod Touch 應用程序具有大量的表格數據,則此示例說明如果 將內容過濾到可管理的數量(如果內存使用情況值得關注)或 您只希望用戶滾動瀏覽較少的表格內容。

我希望這可以幫助你。

+0

嗨貓王感謝您的答案,我一直在使用搜索顯示控制器。 – Desmond

+0

這是我五小時前回答的問題 –