2016-09-05 2 views
1

В одной функции в моем коде Swift мне нужно подождать, пока пользователь не нажмет кнопку. В противном случае я просто ничего не делаю. Как мне это сделать? Возможно, нажатие кнопки вызывает три события, которые я могу поймать.Ожидание нажатия пользователем кнопки в Swift 2

P.S. Из-за структуры моего кода, делать то, что я хочу на этой кнопке, нажать (например, @IBAction), это не вариант!

+0

Нажимные кнопки для кнопки запускают какое-либо событие; метод @IBAction, связанный с их событием touchUpInside. Объясните более четко, чего вы пытаетесь достичь, и почему вы думаете, что не можете использовать метод действия. – Paulw11

+0

Посмотрите. Мне нужна моя основная игровая функция (называется, когда я нажимаю кнопку «Начать игру»), чтобы вызывать 2 функции в цикле, если условие окончания игры не истинно. Одна из функций - очередь компьютера, другая - очередь пользователя. Я хочу, чтобы функция поворота пользователя подождала, пока пользователь нажмет одну из четырех кнопок, а затем я могу сделать некоторые действия на основе того, какую кнопку он нажимает –

+0

. Вы говорите, что я могу проверить «oneButton.touchInside == true» или smth вот так? –

ответ

0

Объявить глобальное логическое значение, такие как var buttonPressed = false, а затем, в IBAction кнопки (при нажатии на нее):

if buttonPressed = false{ 
     buttonPressed = true 
} 

И в методе вы хотите вызвать при нажатии на кнопку, просто спросите, верно ли buttonPressed. Попробуйте это и скажите мне, если он работал

+0

Это будет проблематично, потому что у меня есть пошаговая игра, и у меня есть 4 кнопки. Я хочу получить пользовательский ввод (номера 1, 2, 3 или 4) и на основе того, какая кнопка нажала кнопку. У меня есть основная процедура (игра) - она ​​проверяет условие окончания игры, и если ее ложь заставляет компьютер поворачиваться, а затем должен ждать, пока пользователь нажмет одну из четырех кнопок –

0

Вы можете установить взаимодействие пользователя с false по умолчанию вашего основного UIView (обычно UIViewController зрения)

self.view.userInteractionEnabled = false 

и когда у вас есть действие кнопки вы установите взаимодействие пользователя с true.

self.view.userInteractionEnabled = true