はい、制御イベント フラグを一緒に OR できます。
ビットごとの OR がどのように機能するかについて少し混乱していると思います。ORing はビット数を増やすのではなく、設定するビット数を増やすだけです。
次のように定義されたフラグが表示された場合:
UIControlEventTouchDragOutside = 1 << 3,
UIControlEventTouchDragExit = 1 << 5,
UIControlEventEditingDidEnd = 1 << 18,
多くの場合、それらを一緒に論理和できることが意図されていたという手がかりです。
バイナリでは、これらのフラグと OR の結果は次のようになります。
UIControlEventTouchDragOutside 0000000000000000000000000001000
UIControlEventTouchDragExit 0000000000000000000000000100000
UIControlEventEditingDidEnd 00000000000001000000000000000000
ORの結果 00000000000001000000000000101000
ご覧のとおり、結果のビット数は同じ (32) のままです。変化するのは、設定されたビットの数だけです。
詳細については、Google の「バイナリ演算」および「ビット単位のブール演算子」を参照してください。
最後のメモ、Apple docs foraddTarget:action:forControlEvents
say:
controlEvents
アクション メッセージが送信されるコントロール イベントを指定するビットマスク。ビットマスク定数については、「コントロール イベント」を参照してください。
ビットマスクという用語は、この呼び出しのコントロール イベント定数を論理和できることを意味します。