我有一个TableView,我有一个位于TableView之上的视图,因此当您向下滚动TableView时,该视图始终显示。我现在想要的是当用户在TableView上向上滚动时,我希望该开销视图完全消失而根本看不到。现在,当用户向上滚动视图变为完全白色但仍然可见时。反正有没有隐藏它的视线?如果它有助于俯视图高度只有50.0
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if (self.lastContentOffset > scrollView.contentOffset.y + 0) {
// TableView Moving up
View2.isHidden = true
View2.alpha = 0
}
}
这是一个Image,TopView正在覆盖TableView的一部分。
答案 0 :(得分:0)
您可以使用下面的UITableHeaderView
来实现此目的。
这只是一个例子,您必须根据您的要求进行更改。
找到data
数组,如下所示。
for i in 1...15 {
data.append("New Object \(i)")
}
现在实施UITableViewDataSource
这样的方法,
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 44
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell") as! CustomCell
cell.tmpValue.text = data[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 50
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 50))
headerView.backgroundColor = UIColor.lightGray
let lblTemp = UILabel(frame: headerView.bounds)
lblTemp.text = "Header View"
headerView.addSubview(lblTemp)
return headerView
}
输出将是这样的,
此处CustomCell
是您的自定义TableView单元格。
您甚至可以为HeaderView创建自定义XIB,并根据您的要求进行相应的操作。
仅供参考,要让HeaderView在滚动时向上滚动,您的TableView样式应为Grouped
。
希望它适合你。