tableView下沉

出現問題的界面以下,並附有大體介紹:spa

而我想作的界面應該是自定義的headerView和tableView是一塊兒滑動的,而不是headerView在tableView滑動的時候始終在頂部位置,並且tableview剛好只有一個headerView,最終界面圖以下面:blog

事先說明,我這裏項目是純代碼編寫,在網上也找了不少資料有關於利用xib,storyBoard出現的這種問題,借鑑了不少網上的方法,都無論用,最後折騰了好久,總算是沒白忙活,現將解決方法分享下,但願對出現這種狀況的有所幫助。文檔

爲了更好的比較,我這裏先附上原先的核心代碼,錯誤的演示it

 

 

爲了解決上面的問題,我嘗試了設置self.automaticallyAdjustsScrollViewInsets=NO;可是仍是無論用,因此排除了這種方法。io

最後看到有兩種解決方法:table

1.將tableView的樣式換成UITableViewStylePlain就行了cli

_contactTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 60, clientRect.size.width, clientRect.size.height-115) style:UITableViewStylePlain];方法

可是這並知足不了本身的要求,tablewView是能夠單獨滑動的,headerView一直停留在頂部。因此這裏的樣式必須是im

UITableViewStyleGrouped,因而最後用到的是下面的第二種方法。call

2.當tableView的樣式是UITableViewStyleGrouped時,採用下面的方法

1)建立自定義的headerView,105行的方法就不詳細展現了

2)以後最重要的是,下面的兩個方法不須要添上

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

3)最後明白我之前用的是2)中的方法常見section裏的headerView,這就會致使用UITableViewStyleGrouped時系統會默認讓tableview下沉,我這裏用的1)中的就不會。文檔有解釋

相關文章
相關標籤/搜索