Я пытаюсь получить бинарный ответ от пользователя, UIAlertController кажется наиболее естественным выбором.Тем не менее, всплывающее окно открывается, когда вызывающее действие (IBAction, возникающее из-за длительного нажатия в подпредставлении) закрывается, а мне нужен результат раньше (в функции 'hit').Это код, который я использую.Печать только для того, чтобы показать, что конец функции достигнут до того, как появится всплывающее окно.Чего мне не хватает? ...
@IBOutlet var longPress: UILongPressGestureRecognizer!
@IBAction func longPressAction(_ sender: UILongPressGestureRecognizer) {
if longPress.state == .ended {
let alert = UIAlertController(title: "HIT?", message: nil, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "YES", style: .default, handler: nil))
alert.addAction(UIAlertAction(title: "NO", style: .default, handler: nil))
self.present(alert, animated: true)
let location = longPress.location(in: fieldView)
let x = location.x
let y = location.y
hit(x, y)
print("I'm here")
}
}