2013-09-25 148 views
0

我有一個searchBar顯示爲在storyboard中創建的tableViewHeader的一部分。不過,我想在某些情況下隱藏它。爲了做到這一點,我將tableHeaderView.frame設置爲0的高度。爲了再次顯示它,我將tableHeaderView.frame設置爲其原始高度。當它顯示它由第一部分標題覆蓋時。向下拉動搜索欄以及部分標題。UISearchBar部分標題覆蓋

我試過[self.searchBar sizeToFit]後顯示沒有任何成功。我也試過[self.view layoutSubviews]。

如何讓欄目標題覆蓋搜索欄? (iOS 6和iOS 7)

+0

你可能想創建一個自定義視圖你的頭,並用viewForHeaderInSection使用它。 – kgu87

+0

我做了自定義視圖的事情。我沒有偏移幀或將幀的高度設置爲零,而是保留了對自定義視圖的強烈引用,並且當我想隱藏它時,我將tableViewHeader設置爲零,當我想要顯示它時,我將其設置爲引用的視圖。完美的作品!我還沒有測試過,但我懷疑我可以將它設置爲searchBar視圖而沒有封閉視圖。 –

回答

0

而不是通過將其高度設置爲零來隱藏它,您可以將表格的內容偏移設置爲搜索欄高度。這使得它基本上向上滾動。

事情是這樣的:

@property (nonatomic, weak) IBOutlet UISearchBar* searchBar; 
@property (nonatomic, weak) IBOutlet UITableView* table; 

... 

- (void) hideSearchBar 
{ 
    self.table.contentOffset = CGPointMake(0, self.searchBar.frame.size.height); 
}