Активная кликабельная область для UIButton с закругленными углами?

Итак, я создал кнопку с рамкой в ​​моей раскадровке.

а потом я закруглил его углы и добавил цвет границы:

button.layer.cornerRadius = button.bounds.size.width / 2
button.layer.borderColor = greenColor

Таким образом, результат выполнения выглядит следующим образом:

Однако пользователь может слегка постучать за пределами области кнопки (где раньше были углы) и при этом вызвать функцию кнопки. Есть ли способ ограничить включенную область кнопки просто кругом?

 rigdonmr03 июн. 2016 г., 17:09
Единственный способ сделать то, что вы просите, - нарисовать в коде произвольную фигуру, я верю, но это звучит так, как будто вы не должны быть слишком обеспокоены, чтобы быть честным.
 LuKenneth14 июн. 2016 г., 15:34
@rigdonmr Я разобрался, посмотри мой ответ, если тебе интересно

Ответы на вопрос(1)

мне нужно, чтобы оно провалилось. И это еще проще:

1) Настройте предпочитаемый путь (для меня круг)

private var touchPath: UIBezierPath {return UIBezierPath(ovalIn: self.bounds)}

2) Точка переопределения внутри функции

override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
    return touchPath.contains(point)
}

Все внутри вас подкласс UIButton.

Ваш ответ на вопрос