Можно ли заставить кнопку выполнять определенное действие только при первом нажатии?

Я подключил функцию, которая содержит операторы if и else, к кнопке; но я также хочу добавить другое действие, которое кнопка выполняет только при первом нажатии, т.е. я хочу, чтобы она выполняла if-else только тогда, когда она нажата второй, третий и т. д. раз.

2 ответа

Решение

Во-первых, выделите вашу логику в отдельную функцию - вам будет легче управлять ею.

Во-вторых, добавьте логическое значение в контроллер с именем firstTimePressed:

var firstTimePressed : Bool = false

в вашем действии кнопки добавьте следующее:

if(firstTimePressed == false){
    firstTimePressed = true
}
else{
    //call your function
}

И это все.

Построить подкласс UIButton с BOOL это позволит выполнить действие, если оно истинно (или ложно, независимо от того, что вы предпочитаете), и как только вы выполните действие в первый раз, измените его значение, поэтому в следующий раз действие не запустится.

Другие вопросы по тегам