0

私は 2 を持ってNSButtonいますが、どちらも瞬間的なプッシュイン ボタンに隣接しています。他のビューがスワップインおよびスワップアウトされるメインウィンドウがあります。これらの 2 つのボタンは、メイン ウィンドウのカスタム ビュー (次、前) にあり、ビューをナビゲートするのに役立ちます。

次のボタンを使用して 2 つのビューに到達したら、前のボタンを有効にして表示します。したがって、この時点で前のボタンを押すと、最初のビューがスワップインされ、前のボタンを透明にして有効にします。

この時点で、次のボタンを押して 2 番目のビューに移動すると、2 番目のビューがスワップインされ、前のボタンが再び表示されます。しかし、それはここで強調されています。どうすればこれを取り除くことができますか?

4

1 に答える 1

0

より良い回答が得られることを願っていますが、このような場合に機能することがわかった一般的な手法は、ビューの新しい構成が落ち着くまで、有効化/無効化アクションで待機することです。

結局のところ(説明を正しく読んだ場合)、ボタンを独自のアクションハンドラーの真ん中に隠しています。

これを延期するには、メイン スレッドの実行ループの次の呼び出し (または、より正確には後で) で有効化/無効化コードをディスパッチすることで簡単に取得できます。

dispatch_async(dispatch_get_main_queue(), ^{

    // Enable or disable your buttons here.
});

解決策としてはハックのようなものですが、一方で、ナビゲーション UI を再構成する前に、メイン ビューが不安定な状態でなくなるまで待つことは悪いアプローチではありません。

于 2012-06-13T08:50:36.153 に答える