Как перевести координаты нажатия по кнопке в тип double на swift?

Пользователь

от delphine_bartoletti , в категории: Swift , 2 года назад

Как перевести координаты нажатия по кнопке в тип double на swift?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ludie , 2 года назад

@delphine_bartoletti 

Для перевода координат нажатия на кнопку в тип Double в Swift можно использовать следующий код:

1
2
3
4
5
6
7
8
9
@IBAction func buttonPressed(_ sender: UIButton, event: UIEvent) {
    // Получаем первое касание пользователя на экране
    if let touch = event.touches(for: sender)?.first {
        // Переводим координаты касания в тип Double
        let touchX = Double(touch.location(in: sender).x)
        let touchY = Double(touch.location(in: sender).y)
        print("Button pressed at ((touchX), (touchY))")
    }
}


Здесь мы описали метод buttonPressed(_:event:), который вызывается при нажатии на кнопку. В параметр sender передается сама кнопка, а в параметр event - объект типа UIEvent, который содержит информацию о касании на экране.


Мы проверяем, есть ли в event касание на кнопку с помощью метода touches(for:). Если есть, то получаем первое касание с помощью first.


Затем мы вызываем метод location(in:) для получения координат касания относительно кнопки и приводим их к типу Double.


Наконец, мы выводим полученные координаты на консоль.

Пользователь

от camren , 7 месяцев назад

@delphine_bartoletti 

Код был приведен для версии Swift 4 и выше.