Да, вы можете или флаги управления событиями вместе.
Я думаю, вы можете быть немного смущены о том, как работает побитовое ИЛИ. ORing не увеличивает количество бит, а увеличивает количество установленных бит.
Когда вы видите флаги определены следующим образом:
UIControlEventTouchDragOutside = 1 << 3,
UIControlEventTouchDragExit = 1 << 5,
UIControlEventEditingDidEnd = 1 << 18,
это часто признак того, что она предназначалась они могли быть ORed вместе.
В бинарное эти флаги и результат OR будет:
UIControlEventTouchDragOutside 00000000000000000000000000001000
UIControlEventTouchDragExit 00000000000000000000000000100000
UIControlEventEditingDidEnd 00000000000001000000000000000000
Result of OR 00000000000001000000000000101000
Так как вы можете видеть, количество битов в результате все та же (32) это просто число набора бит, который изменяется.
Google "двоичная арифметика" и "побитовые булевы операторы" для получения дополнительной информации об этом.
Последнее замечание, Яблоко docs for addTarget:action:forControlEvents
сказать:
controlEvents битовой маска, определяет событие управления, для которого отправляется сообщение действия. См. «Контрольные события» для битовых масок.
Термин битовой означает, что вы можете или вместе константы управления событиями для этого вызова.