Swift: конфликт между LongPressGestureRecognizer и прокруткой

У меня есть UIView в UIScrollView. Я хочу, чтобы представление делало что-то, когда начинается касание, и делало что-то другое, когда касание заканчивалось. Поэтому я использовал UILongPressGestureRecognizer. Я установил для параметра MinimumPressDuration значение ноль. Это работает нормально, но моя проблема в том, что я больше не могу правильно использовать представление прокрутки, потому что каждое прикосновение в представлении теперь запускает распознаватель жестов.

Кто-нибудь знает, как это решить? Могу ли я сказать LongPressGestureRecognizer, чтобы он не реагировал на жесты смахивания?


person MightyAlienDwarf    schedule 21.08.2017    source источник
comment
см. это stackoverflow.com/questions/15870756/   -  person Anbu.Karthik    schedule 21.08.2017
comment
используйте [viewObject addGestureRecognizer:longPress]; Или longPress.minimumPressDuration=0,05;   -  person Govaadiyo    schedule 21.08.2017


Ответы (1)


Вы пробовали установить:

let gesture = UILongPressGestureRecognizer()
gesture.cancelsTouchesInView = false

Также попробуйте использовать UILongPressGestureRecogniser с:

extension ViewController: UIGestureRecognizerDelegate {
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
}

Где ViewController — это delegate вашего распознавателя жестов.

person Pranav Kasetti    schedule 21.08.2017