Используя долгое нажатие для переключения - PullRequest
0 голосов
/ 12 мая 2018

Я хотел бы использовать жест длинного нажатия для переключения свойства .isHidden для tableView.Мой код (ниже) заставляет 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
    }
}

Любые идеи приветствуются!

1 Ответ

0 голосов
/ 12 мая 2018

Сначала вам нужно переместить весь код внутрь блока if recognizer.state == .began {.

Затем избавьтесь от свойства hideTableView.Просто переключите свойство isHidden табличного представления.Затем перезагрузите его false после переключения.

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