2012-05-02 106 views
1

我已經把一個UISearchBar放到了uitableview的headerview和viewcontroller中viewdidLoad方法將headerview的高度設置爲0並且隱藏了搜索欄,並且想要在按鈕被觸摸時顯示搜索欄,在觸摸處理程序中我還原了headerview的高度並顯示uisearchbar,但搜索欄覆蓋tableview的第一行。有沒有辦法避免重疊?UITableView標題大小調整

回答

3

將headerview的clipsToBounds屬性設置爲YES會做到這一點。

+0

什麼都沒有發生,我必須設置這個屬性?我在恢復原始尺寸之前設置它 – taffarel

+0

當高度爲0時,它應該已經設置;那就是當搜索欄與下面的tableview重疊時,因爲它不適合。通常情況下,你應該在創建headerview之後立即設置它,但在設置高度爲0之前設置它。 – Stuart

+0

不,它不工作,也許我做錯了什麼?這是我的代碼。 in viewDidLoad method CGRect headerframe = self.tableView.tableHeaderView.frame; [self.searchBar setHidden:YES]; self.tableView.tableHeaderView.clipsToBounds = YES; self.tableView.tableHeaderView.frame = CGRectMake(headerframe.origin.x,headerframe.origin.y,headerframe.size.width,0); and in touch handler [self.searchBar setHidden:NO]; CGRect headerframe = self.tableView.tableHeaderView.frame; self.tableView.tableHeaderView.frame = CGRectMake(headerframe.origin.x,headerframe.origin.y,headerframe.size.width,44); – taffarel