Почему нельзя увеличить область касания для UIButton в Stackview? - PullRequest
0 голосов
/ 14 апреля 2020

Внутри представления ViewControllers у меня есть UIStackView, который содержит три кнопки. Я хочу, чтобы у этих кнопок была увеличенная область касания. Я попытался найти решения, найденные здесь:

Как я могу увеличить площадь ответвления для кнопки UIB?

например, у меня есть подкласс UIButton и точка переопределения внутри, чтобы увеличить площадь ответвления

class LargeTappableButton: UIButton {
    override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
        let extraTapArea = CGFloat(20)
        let newArea = CGRect(x: bounds.origin.x - extraTapArea, y: bounds.origin.y - extraTapArea, width: bounds.width + extraTapArea * 2, height: bounds.height + extraTapArea * 2)
        return newArea.contains(point)
    }
}

В конструкторе интерфейса я установил пользовательский класс для этого класса

enter image description here

Но независимо от того, что я делаю, область касания остается очень маленький (я пробовал большие значения, чтобы увеличить площадь крана). Я также позаботился о том, чтобы с isUserInteractionEnabled не было проблем.

Иерархия представлений выглядит следующим образом с тремя кнопками внутри контейнера строк кнопок.

enter image description here

Что может быть причиной проблемы?

...