我通过执行以下操作在 swift 1.2 中使用 TableViewController 实现了这一点(以防人们像我在寻找 swift 解决方案时遇到的那样)。
一旦你的故事板上有你的 TableViewController ,就将一个 View 拖到控制器上。根据需要进行设置并右键单击(或按住 ctrl 单击)并拖动到源中以创建 IBOutlet。然后单击并将视图拖动到顶部栏。更改为 TableViewController 的源,您将需要派生 UIScrollViewDelegate。您将需要设置tableView.delegate = self
,然后您可以执行以下操作
self.tableView.contentInset = UIEdgeInsetsMake(0.0, 0.0, floatingView.frame.height, 0.0)
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0, 0.0, floatingView.frame.height, 0.0)
floatingView.frame.origin.y = self.tableView.bounds.origin.y + self.tableView.frame.height - floatingView.frame.height
floatingView.autoresizingMask = UIViewAutoresizing.FlexibleTopMargin
self.view.addSubview(floatingView)
接着
override func scrollViewDidScroll(scrollView: UIScrollView) {
floatingView.frame = CGRectMake(self.floatingView.frame.origin.x, self.tableView.bounds.origin.y + self.tableView.frame.height - floatingView.frame.height, self.floatingView.frame.size.width, self.floatingView.frame.size.height)
}