出现问题的界面以下,并附有大体介绍: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)中的就不会。文档有解释