UIControlのカスタムサブクラスを実装したいと思います。私が歯を吐くという致命的な問題を除いて、それは美しく機能します。sendActionsForControlEvents:を使用してアクションメッセージを送信する場合は常に、UIEventを含めることを省略します。たとえば、次のシグネチャを持つメソッドにリンクすると、次のようになります。
- (IBAction) controlTouched:(id)sender withEvent:(UIEvent *)event
...イベントは常にnilとして返されます!この問題はsendActionsForControlEvents内で発生しているようです。
ここで、タッチの場所を判別できるようにするためにIBActionが必要です。私は通常、イベントからタッチを抽出することによってそうします。確かに、正しいイベントが確実に配信されるようにする方法が必要ですか?これは、UIControlを使用する上で非常に基本的な部分です。
法的な回避策を知っている人はいますか?