ios - UIButton إزالة جميع الإجراءات المستهدفة
(3)
@ إجابة progrmr في Swift 2:
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
و سويفت 3:
button.removeTarget(nil, action: nil, for: .allEvents)
ملاحظة: لا يحتوي Swift على NULL
، لذلك اختبرت استبداله بـ nil
ويبدو أنه يعمل بشكل جيد.
لقد أضفت عدة إجراءات الهدف - forControlEvents: إلى UIButton. أود إزالة كل ذلك دفعة واحدة دون إلغاء تخصيص أي شيء. سأقوم بعد ذلك بوضع أهداف جديدة.
هل هذا ممكن وكيف أذهب عن ذلك؟
call removeTarget:action:forControlEvents: pass nil for the target، NULL for action، and use a control mask that sets all bits (UIControlEventAllEvents).
ج موضوعية
[someControl removeTarget:nil
action:NULL
forControlEvents:UIControlEventAllEvents];
سويفت 2
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
سويفت 3
button.removeTarget(nil, action: nil, for: .allEvents)
- removeTarget:action:forControlEvents:
هذه الطريقة توقف تسليم الأحداث إلى الكائن الهدف المحدد.
تحديد كائن صالح في المعلمة الهدف ، هذه الطريقة توقف تسليم الأحداث المحددة لجميع أساليب العمل المرتبطة بهذا الكائن.
تحديد لا شيء للمعلمة الهدف ، هذه الطريقة تمنع تسليم تلك الأحداث إلى جميع أساليب العمل لجميع الكائنات المستهدفة
ج موضوعية:
[_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 :