2

iPhone の UIKit でタッチ イベントを無視したい場合は、次のようにします。

// Begin ignoring events
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
//Do my code 
// Stop ignoring events
[[UIApplication sharedApplication] endIgnoringInteractionEvents];

これにより、アプリケーションの状態を変更するユーザーの操作を心配することなく、「無視」呼び出しの間のコードを操作できます。

私の質問は、Mac OS X アプリ (AppKit と UIKit) を作成している場合、どうすればこれを行うことができるでしょうか? 私は基本的に、いくつかの操作中にユーザーを「ロックアウト」したいと考えています(具体的には、ネットワーク呼び出しを行い、状態をすばやく変更すると、大量のネットワーク呼び出しがキューに入れられ、互いにすぐに邪魔になります)。

これを AppKit で手動で管理する必要がありますか? つまり、進行状況バーを表示し、すべての UI 要素を手動で無効にしますか?

4

1 に答える 1

6

デスクトップでは、本当にそのようなことをしたくありません。その時点でユーザーがあなたのアプリで合理的にやりたいことは他にないため、iPhone でのみ機能します。デスクトップでは、複数のウィンドウなどの可能性があり、アプリが応答しないときはいつでもバグと見なされます。

より直接的に: いいえ、このようなものはありません。シート/モーダル パネルで同じ効果を実現する必要がありますが、ほとんどの場合、それが問題にならないように UI を設計する必要があります。

于 2009-11-08T20:11:36.360 に答える