我似乎無法讓UISearchBar從導航欄中最左邊到最右邊的位置。在 - (無效)viewDidLoad方法中,我有以下代碼:UISearchBar和UINavigationItem
UISearchBar *sb = [[UISearchBar alloc] initWithFrame:self.tableView.tableHeaderView.frame];
sb.delegate = self;
self.navigationItem.titleView = sb;
[sb sizeToFit];
[sb release];
當你構建和運行,它乍看上去就好了。然而,仔細觀察,你可以看到左邊有一個空白/空格。這對於事物的宏偉計劃來說不是什麼大問題,但是當我點擊搜索欄開始搜索時,我將取消按鈕設置爲視圖的動畫。因爲搜索欄略微位於右側,動畫是生澀和取消按鈕脫落,像這樣的結尾: link text
它看起來好像UINavigationItem就像是有三個單元格的表,其中有一個在我無法移除的第一個和最後一個填充上 - 也沒有似乎有辦法將它們「合併」在一起,然後將搜索欄放在那裏。我知道這種看起來是可能的,因爲AppStore搜索在導航欄中有一個搜索欄,它一直走到邊緣。任何人都知道如何讓搜索欄一直走到邊緣,所以我的滑入取消按鈕動畫將正常工作?
我試過了UISearchDisplayController。但是,該「控制」將搜索欄放在表格標題中(不搜索時),而不是導航欄。然後,當您點擊搜索欄時,它會動畫並移動到導航欄,類似於「聯繫人」搜索。我不喜歡那樣。我希望它看起來就像AppStore搜索一樣,無論您正在搜索或不搜索,導航欄中的搜索欄REMAINS。這可能嗎? – tbehunin 2009-10-23 19:22:24
從iPhone SDK獲取「默認情況下,導航欄左側顯示後退按鈕,中間顯示標題,您可以通過指定自定義左側視圖,中央視圖或右側視圖來更改此行爲。」所以也許你可以嘗試左視圖和中心視圖。是否有必要有一個真正的NavigationBar或僅僅是它的外觀? – caahab 2009-10-23 20:27:19
我嘗試了一個自定義的左視圖和中心視圖,但仍然看起來不像AppStore搜索。 我知道它看起來像一個導航欄,通過隱藏真正的導航欄,並將搜索放在表視圖的標題。這工作完美。唯一的問題是,現在具有搜索欄的標題與屏幕一起滾動。我希望它像導航欄一樣靜止。任何其他想法?我只是想讓搜索看起來像AppStore的搜索。我不敢相信這很難做到。 :( – tbehunin 2009-10-23 22:40:12