0

うーん、説明するのは難しいかもしれませんが、私が欲しいものは次のとおりです。

アプリケーションが起動したら、いくつかのコンポーネントをロードし、ロードが 100% 完了した進行状況バーを表示したいと考えています。しかし、インターフェースのために、デスクトップにプログレスバーが欲しいだけです。ウィンドウ コントロールや背景は必要ありません。カスタマイズしたプログレス バーがデスクトップに表示され、最大 100% の読み込みが行われ、続いてウィンドウが表示され、それによってアプリ全体が表示されます。

言及するだけで、Xcode で開発されている Mac アプリでこれが必要です。

4

2 に答える 2

4

検討している視覚効果と、行っている仮定について考えることを強くお勧めします。これは「悪い設計」であると私は主張します:

  1. ユーザーは何でもデスクトップ ピクチャとして配置できます。背景が青色で、カスタム プログレス バーが青色の場合は、プログレス バーが表示されず、なぜアプリケーションが応答しないのか疑問に思うでしょう。 「このアプリはダメだ。起動するとハングする。削除してくれ!」
  2. ユーザーが複数のアプリケーションを実行している可能性があります。「フローティング プログレス バー」は、他のアプリケーション ウィンドウの海で失われます。(iTunes が何かをロードしているのはなぜですか? 待ってください!! それはこの別のウィンドウレスのものです... 「直感的ではありません! クールではありません」 )
  3. これはあまり Mac に似ていません。善良な市民になる方法については、プラットフォームごとにルールがあることを忘れないでください。Metro アプリは、特定のインターフェイス パラダイムに準拠する必要があります。同様に、「Mac ライク」についても言いたいことがありますが、この動作はそうではないと私は主張します (フローティング プログレス バー)。

プログレス バーを適切な名前のモーダル ウィンドウ内に保持することを強くお勧めします。アプリケーションは最前面に出たり入ったりします... そのため、プログレス バーが何に関連しているかを知ることも重要です。

これらすべてを検討した場合は、次の質問が開始に役立つはず です。NSView を透明にして、NSWindow の下にあるものを表示する方法は?

于 2012-04-18T19:57:46.893 に答える
0

あなたはおそらく、アルファがゼロに設定された不透明な背景ビューと進行状況を示すサブビューを備えた、ボーダレスNSWindow( ) について話しているでしょう。また、このメソッドを使用して、ウィンドウをうまく中央に配置することもできます。NSBorderlessWindowMaskNSProgressIndicator-[NSWindow center]

しかし、あなたがそのような UI を望んでいるとは思えません。プログレス バーは、おそらくすべてのデスクトップの一番上に表示されるわけではないため、美的に価値がありません。

あなたのケースには、丸みを帯びた半透明の黒いウィンドウの方が適していると思います。Matt Gemmell のソース コードを見てください。

于 2012-04-18T19:56:59.133 に答える