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:

هذه الطريقة توقف تسليم الأحداث إلى الكائن الهدف المحدد.

  1. تحديد كائن صالح في المعلمة الهدف ، هذه الطريقة توقف تسليم الأحداث المحددة لجميع أساليب العمل المرتبطة بهذا الكائن.

  2. تحديد لا شيء للمعلمة الهدف ، هذه الطريقة تمنع تسليم تلك الأحداث إلى جميع أساليب العمل لجميع الكائنات المستهدفة

    ج موضوعية:

    [_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 :





uibutton