我在根視圖控制器中使用下面的代碼來隱藏UITableView的標題(標題中有一個UISearchbar)。它在應用程序啓動並顯示tableView時起作用。然而,之後,當選擇一行時,會推送詳細視圖,並且用戶彈出詳細視圖,則uitableview頭現在可以在根視圖中顯示,而不是我所期望的。iOS UITableView contentOffSet不再隱藏從推送的詳細視圖返回的標題
這裏的相關功能:
- (void) viewWillAppear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:YES animated:animated];
[super viewWillAppear:animated];
self.tableView.contentOffset
= CGPointMake(0, self.tableView.tableHeaderView.frame.size.height);
//it's as if the line above is ignored on when returning from a pushed detail view
}
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// theContentOffSet works when I put it hear, but then the user can see it which is not desired
}
線 '[self.navigationController setNavigationBarHidden:YES動畫:動畫];'肯定是問題的一部分,因爲沒有它,代碼工作,並且tableView標題滾動出視圖。然而,對根視圖的要求是要隱藏導航欄,但在詳細視圖中顯示。
你對viewDidLoad的代碼行應該是'savedContentOffsetY',對嗎? 否則這段代碼看起來不錯,我會盡快接受它作爲答案。 – kris 2011-06-15 13:53:40
好找,堪察加。看起來像'performSelector'使您能夠利用viewWillAppear的動畫來解決一些時間挑戰。 – kris 2011-06-16 13:41:42
感謝您接收錯字,現在修復。 – Kamchatka 2011-06-18 22:54:00