Как мне заменить существующее действие (n?) UIButton?

До сих пор я использовал

[button1 addTarget:self action:@selector(newAction) forControlEvents:UIControlEventTouchUpInside];

что добавляет дополнительное действие (я думаю). Как я могу заменить исходное действие новым?


person androidnotgenius    schedule 31.05.2010    source источник
comment
Я думаю, что UIButton приемлем, да.   -  person Joseph Salisbury    schedule 31.05.2010
comment
Чтобы удалить все предыдущие действия: [button1 removeTarget: nil action: NULL forControlEvents: UIControlEventAllEvents] - см. stackoverflow.com/ questions / 3340825 /   -  person jcsahnwaldt Reinstate Monica    schedule 13.10.2013


Ответы (2)


Вы можете удалить цель для определенного действия следующим образом:

[button1 removeTarget: self action: @selector(oldAction) forControlEvents: UIControlEventTouchUpInside]

Или, что еще лучше, вы можете удалить все цели со своей кнопки следующим образом:

[button1 removeTarget: nil action: NULL forControlEvents: UIControlEventAllEvents]

Затем вы можете добавить новое целевое действие:

[button1 addTarget:self action:@selector(newAction) forControlEvents: UIControlEventTouchUpInside];

Вот и все!

Надеюсь, это было полезно, Павел

person Pawel    schedule 31.05.2010

Сначала вам нужно удалить текущее действие с помощью removeTarget: action: forControlEvents:, а затем добавить новое с помощью addTarget: action: forControlEvents :.

person BAndonovski    schedule 31.05.2010