如何向uiTableView控制器添加滑动和标题视图。

时间:2017-02-17 07:40:51

标签: ios uitableview swift3 swipe

this the first screenshort

enter image description here

我添加了一个标题视图并向左滑动到表格视图控制器。

正如你在屏幕截图中看到的那样,当我滑动行时,标题视图也在移动,请帮帮我。

我添加标题的代码是

     func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

            let header = tableView.dequeueReusableCell(withIdentifier: "HeaderCell") as! CustomHeaderTableViewCell

            header.SortButton?.backgroundColor = UIColor(netHex:0xEEEEEE)
            header.FilterButton?.backgroundColor = UIColor(netHex:0xEEEEEE)

            header.SortButton?.font = UIFont.fontAwesome(ofSize: 18)
            header.SortButton?.text = String.fontAwesomeIcon(name: .sort) + " Sort"

            header.FilterButton?.font = UIFont.fontAwesome(ofSize: 18)
            header.FilterButton?.text = String.fontAwesomeIcon(name: .filter) + " Filter"

            return header

        }



 func tableView(_ tableView: UITableView, editActionsForRowAt: IndexPath) -> [UITableViewRowAction]? {
        let more = UITableViewRowAction(style: .normal, title: "More") { action, index in
            print("more button tapped")
        }
        more.backgroundColor = .lightGray

        let favorite = UITableViewRowAction(style: .normal, title: "Favorite") { action, index in
            print("favorite button tapped")
        }
        favorite.backgroundColor = .orange

        let share = UITableViewRowAction(style: .normal, title: "Share") { action, index in
            print("share button tapped")
        }
        share.backgroundColor = .blue

        return [share, favorite, more]
    }

     func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
        return true
    }

    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        searchBar.endEditing(true)

        let translation = scrollView.panGestureRecognizer.translation(in: scrollView.superview)

        if(translation.y > 0)
        {
            // react to dragging down
        } else
        {
            // react to dragging up
        }
    }

请帮我解决滑动问题。

还可以在滚动中隐藏标题视图。

2 个答案:

答案 0 :(得分:1)

您的问题有两种可能的解决方案:

  1. 只需在cell.contentView功能中返回viewForHeaderInSection而不是单元格,您的问题就会得到解决。
  2. 您的标题视图的子类UITableViewHeaderFooterView而不是UITableViewCell

答案 1 :(得分:0)

您正在使用UITableViewCell子类作为标题视图。而是使用UITableViewHeaderFooterView