使用长按切换

Using long press to toggle

我想使用长按手势切换 tableView 的 .isHidden 属性。我的代码(如下)使 tableView 在第一次长按时出现,但在第二次长按时不隐藏它。

let recognizer = UILongPressGestureRecognizer()
var hideTableView = true
@IBAction func longPress(_ sender: Any) {
    if recognizer.state == .began {
        hideTableView = !hideTableView
    }

    if hideTableView {
        tableView.isHidden = false
        tableView.reloadData()
    }

    if !hideTableView {
        tableView.isHidden = true
    }
}

任何想法表示赞赏!

首先,您需要将所有代码移动到 if recognizer.state == .began { 块内。

接下来,删除 hideTableView 属性。只需切换 table 视图的 isHidden 属性。然后reload就是切换后的false

@IBACTION func longPress(_ gesture: UILongPressGestureRecognizer) {
    if gesture.state == .began {
        tableView.isHidden = !tableView.isHidden
        if !tableView.isHidden {
            tableView.reloadData()
        }
    }
}