AKButton и конфликт жестов - PullRequest
       3

AKButton и конфликт жестов

1 голос
/ 04 февраля 2020

У меня есть всплывающее окно UIView в качестве окна управления. Содержит ползунки и кнопки из каркаса AudioKitUI. У меня настроен жест касания, чтобы закрыть всплывающее окно, но, конечно, он также закрывает UIview, когда я нажимаю кнопку. Можно ли игнорировать жест касания при нажатии кнопки AKButton?

Все заключено в собственную структуру классов. Это код жеста вверху моей Overide Init.

override init(frame: CGRect) {
        super.init(frame: frame)

        self.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(animateout)))

и код моего AKButton.

   // Dynamics on/off button
        let dynamicsButton = AKButton(title: "") { button in
            if boxDynamicStatus[boxBloqDoubleTapped] == false {
                button.title = "FLOATING"
                boxDynamicStatus[boxBloqDoubleTapped] = true
                boxBloqArray[boxBloqDoubleTapped].physicsBody?.isDynamic = true
            } else {
                boxDynamicStatus[boxBloqDoubleTapped] = false
                button.title = "FIXED"
                boxBloqArray[boxBloqDoubleTapped].physicsBody?.isDynamic = false
            }
        }
        // Set button text from box array
        if boxDynamicStatus[boxBloqDoubleTapped] == false {
            dynamicsButton.title = "FIXED"
        } else {
            dynamicsButton.title = "FLOATING"
        }

Я не вижу этой проблемы с ползунками, я полагаю из-за движущегося жеста, а не из-за касания.

Все кнопки / ползунки удерживаются внутри контейнера

fileprivate let container: UIView = {
        let v = UIView()
        v.translatesAutoresizingMaskIntoConstraints = false
        v.backgroundColor = UIColor.black.withAlphaComponent(0.3)
        v.layer.cornerRadius = 5

        return v

    }()

можно ли запрограммировать жест, чтобы он не регистрировался в пределах границ контейнера?

1 Ответ

0 голосов
/ 15 февраля 2020

Я думаю, что это, по сути, тот же вопрос, что и здесь: Предотвращение щелчка по просмотру в быстром

Таким образом, это можно решить с помощью упорядочения ваших представлений по z-индексу. Если бы вы предоставили рабочую версию своего кода или версию для игровой площадки, я мог бы протестировать, но это лучшее, что я могу предложить с предоставленной информацией.

...