IOS查看如何使其透视并完全消失

时间:2018-03-20 03:51:53

标签: ios swift uiview uiscrollview tableview

我有一个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的一部分。

enter image description here

1 个答案:

答案 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
}

输出将是这样的,

enter image description here

此处CustomCell是您的自定义TableView单元格。

您甚至可以为HeaderView创建自定义XIB,并根据您的要求进行相应的操作。

仅供参考,要让HeaderView在滚动时向上滚动,您的TableView样式应为Grouped

希望它适合你。