Я добавил несколько мишеней-action-forControlEvents: в UIButton. Я бы хотел удалить все это за один раз, не снимая ничего. Затем я установлю новые цели.UIButton удаляет все целевые действия
Возможно ли это, и как это сделать?
Я добавил несколько мишеней-action-forControlEvents: в UIButton. Я бы хотел удалить все это за один раз, не снимая ничего. Затем я установлю новые цели.UIButton удаляет все целевые действия
Возможно ли это, и как это сделать?
Позвоните removeTarget:action:forControlEvents:, передайте nil для цели, NULL для действия и используйте маску управления, которая устанавливает все биты (UIControlEventAllEvents).
Objective-C
[someControl removeTarget:nil
action:NULL
forControlEvents:UIControlEventAllEvents];
Swift 2
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
Swift 3
button.removeTarget(nil, action: nil, for: .allEvents)
@ ответ progrmr в Swift 2:
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
и Swift 3:
button.removeTarget(nil, action: nil, for: .allEvents)
Примечание: Swift не NULL
, поэтому я тестировал заменив его nil
и, кажется, работает хорошо.
Для Swift 3: «.AllEvents» теперь «. AllEvents» (с нижним регистром «a»): 'removeTarget (nil, action: nil, для: .allEvents)' – Sasho
Что касается вашего ПРИМЕЧАНИЕ: На самом деле, я считаю, может передавать либо «nil», либо «NULL» в ** оба ** первый и второй аргументы в Objective-C, и он будет работать. Я считаю, что оба они определены как '(void *) 0' (или, по крайней мере, оцениваются как равные). –
@Sasho Мне бы очень хотелось увидеть некоторые статистические данные о том, как размер исходных файлов уменьшается (в среднем) при обновлении до Swift 3 :-) (из-за новых правил именования методов/аргументов). –
Swift:
btnCancel.removeTarget(self, action: Selector(), forControlEvents: UIControlEvents.AllEvents)
укажите, на каком языке вы занимаетесь: –
@ JuanPabloBoero, это быстро – Iya
- removeTarget:action:forControlEvents:
Этот метод останавливает доставку событий до указанного целевого объекта.
Указание действительного объекта в целевом параметре, этот метод останавливает доставку указанных событий для всех методов действий, связанных с этим объектом.
Указание всухую для целевого параметра, этот метод предотвращает доставку этих событий для всех методов действия всех целевых объектов
Objective-C:
[_myButton removeTarget: //any validObject (or) nil
action:nil
forControlEvents:UIControlEventAllEvents];
быстры:
myButton.removeTarget(*validObject or nil*, action:nil, forControlEvents:UIControlEvents.AllEvents)
Для получения дополнительной информации https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIControl_Class/index.html#//apple_ref/occ/instm/UIControl/removeTarget:action:forControlEvents:
Спасибо за подсказку! Вот полная ссылка, которую я думаю (например, в раздел): «http://developer.apple.com/iphone/library/documentation/uikit/reference/UIControl_Class/Reference/Reference.html#//apple_ref/occ/instm/UIControl/removeTarget: действие: forControlEvents: « – SK9
progrmr предлагает предложения, конечно же.Чтобы добавить к этому ответу, это фрагмент кода, который мне нужен: [button removeTarget: nil Действие: NULL forControlEvents: UIControlEventTouchUpInside]; – SK9
Кроме того: метод экземпляра -allTargets возвращает NSSet всех целевых объектов экземпляра (nil if none). – SK9