Переполненная выпадающая кнопка в ячейке таблицы: можно ли сделать ее кликабельной? - PullRequest
0 голосов
/ 07 апреля 2020

В настоящее время я работаю над проектом, в котором размещаю кнопку раскрывающегося меню внутри ячейки табличного представления. «Выпадающая часть» переполняет нижнюю часть ячейки и переходит в ячейку ниже. Сейчас я не могу щелкнуть переполненную часть. Есть ли способ сделать эту часть кликабельной? Вы можете найти часть моего кода по ссылке ниже

https://github.com/Rawchris/Drop-down-overflow

Чтобы объяснить это, я хотел бы иметь возможность нажать Вариант 3 и 4 в проекте выше. Пожалуйста, скажите мне, если вы хотите, чтобы я объяснил свой вопрос дальше.

1 Ответ

2 голосов
/ 09 апреля 2020

Итак, вопрос: у вас есть кнопка, которая выходит за пределы своего суперпредставления и поэтому не может быть нажата? Да, вы можете сделать деталь вне суперпредставления кликабельной; вам нужно выполнить «проверку на попадание», переопределив hitTest(_:with:), чтобы кнопка могла быть представлением проверки на попадание, даже если ее часть находится вне суперпредставления. Вам потребуется этот код (или аналогичный) в суперпредставлении кнопки:

override func hitTest(_ point: CGPoint, with e: UIEvent?) -> UIView? {
    if let result = super.hitTest(point, with:e) {
        return result
    }
    for sub in self.subviews.reversed() {
        let pt = self.convert(point, to:sub)
        if let result = sub.hitTest(pt, with:e) {
            return result
        }
    }
    return nil
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...