Можно ли заставить кнопку выполнять определенное действие только при первом нажатии?
Я подключил функцию, которая содержит операторы if и else, к кнопке; но я также хочу добавить другое действие, которое кнопка выполняет только при первом нажатии, т.е. я хочу, чтобы она выполняла if-else только тогда, когда она нажата второй, третий и т. д. раз.
2 ответа
Решение
Во-первых, выделите вашу логику в отдельную функцию - вам будет легче управлять ею.
Во-вторых, добавьте логическое значение в контроллер с именем firstTimePressed
:
var firstTimePressed : Bool = false
в вашем действии кнопки добавьте следующее:
if(firstTimePressed == false){
firstTimePressed = true
}
else{
//call your function
}
И это все.
Построить подкласс UIButton
с BOOL
это позволит выполнить действие, если оно истинно (или ложно, независимо от того, что вы предпочитаете), и как только вы выполните действие в первый раз, измените его значение, поэтому в следующий раз действие не запустится.