1

ユーザーがインターフェイスのボタンをタップすると、renderInContext を使用して画面のイメージを作成したいと考えています。

ただし、画像はボタンが「押された」状態で作成されます。つまり、UIControlStateHighlighted 画像が使用されます。

画像を作成する前に、このボタンが UIControlStateNormal 状態に戻るのを待つ方法はありますか?

そうでない場合、私が考えることができる他の唯一の解決策は、画面外のビューを再作成し、それをイメージングすることです.

PS私は、設定された間隔を待つために任意のタイマーを使用することは避けたいと思います。

4

1 に答える 1

0

ボタンを作成してサブクラス化されたボタンに置​​き換え、次の場合に renderInContext をトリガーします。

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event 

メソッドが呼び出されます。このメソッドは、ユーザーがボタンから指を離したときに呼び出されます。

または、uibutton の次のメソッドを使用して、既存のボタンのアクション メソッドを設定します。

-(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents

UIControlEventTouchUpInside に設定されたコントロール イベント

于 2012-08-27T21:25:43.573 に答える