我如何保持标题单元格与Swift 2.0中的tableview单元格移动

我正在尝试创build一个tableview在tableview的中间开始标题,然后可以用添加tableView单元格向上滚动,然后停止,然后tableview单元格可以滚动“下”它。 我得到的标题是在tableview的中间,但tableView细胞只是滚动的顶部,并不真正滚动到顶部。 它只是留在那里。 我希望能够让标题在滚动列表时移动,然后当它到达列表的顶部时停止,然后它只是在之后移动的tableView单元格。

我正在使用最新版本的XCode

转到故事板>select视图>select表格视图>属性检查器>从普通文件中组合的样式

看图: 在这里输入图像说明

你可以使用部分。 如果我正确地理解了你的问题,你想要做的是,你必须在屏幕中间显示标题,同时在标题上方有一些单元格和标题下面的一些单元格,当你滚动tableView时,应该滚动标题顶部,当它到达顶部,你希望你的头部保持在顶部,而单元格应该滚动标题下方。

所以要做到这一点从数据源返回两节

func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 2 } 

并在数据源中返回条件单元格

 func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { If(section == 1) { return <Return number of cell you want to display above header> } else { return <Return number of cell you want to display below header> } } 

然后重写委托

 func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { if(section == 0) { return nil //As you do not have to display header in 0th section, return nil } else { return <Return your header view> //You can design your header view inside tableView as you design cell normally, set identifier to it and dequeue cell/headerView as: //However this may result in unexpected behavior since this is not how the tableview expects you to use the cells. let reuseIdentifier : String! reuseIdentifier = String(format: "HeaderCell") let headerView = tableView.dequeueReusableCellWithIdentifier(reuseIdentifier, forIndexPath: NSIndexPath(forRow: 0, inSection: 0)) return headerView } } 

设置条件高度为

 func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { if(section == 0) { return 0 } else { return <Return your header view height> } } 

我们在这里做的是,我们正在显示标题的第二部分,这将有一些单元格,所以你会看到一些单元格在tableView没有标题,在这些单元格下面,你会看到headerView与一些单元格,当你滚动tableView向上headerView将滚动与单元格,直到它到达顶部。

希望这会帮助你。