4

アイテムの子の読み込みの進行状況を表示する必要があります。Mail アプリケーションで行われているように、進行状況インジケーターを実装する方法を教えてください。

アウトライン ビューの進行状況インジケーター http://www.quicksnapper.com/files/10513/5329281414A48CEBA2FFE0_m.png

PS インジケーターのサブビューを使用するソース コード: http://snippets.dzone.com/posts/show/7684

4

3 に答える 3

6

Apple は NSProgressIndicatorCell を提供していないため、これは必要以上に困難です。テーブル ビューとアウトライン ビューは、それらの中に表示されるカスタム セルのアイデアをサポートしますが、カスタム サブビューを簡単にサポートするようには設定されていません。

つまり、完全な NSProgressIndicator ビューをウィンドウ内の目的の場所に表示してアニメーション化するには、テーブル ビューの行に実際にインストールする機能を持たずに、どのようにすればよいのでしょうか?

私が使用したトリックは、NSProgressIndicator をアウトラインまたはテーブル ビュー自体のサブビューとして文字通りインストールすることです。サブビューを追加する場所を見つけて、「行内」にあるようにするには、frameOfCellAtColumn:row: メソッドを使用します。その後、進行状況インジケーターをアウトライン ビューのその場所に配置できます。進行状況インジケーターの回転が完了したら、おそらくそれ以上表示したくないので、スーパービューから削除して破棄してください。

進行状況インジケーターに必要な自動サイズ変更フラグを設定して、アウトライン ビューのサイズが変更された場合に正しい方向にフロートするようにする必要があります。

望ましい最終結果を達成するために、このような他のハックがあると確信しています。このトリックを達成するための超クリーンな方法はないと思います。

于 2009-06-29T15:03:05.900 に答える
3

Viennaはオープンソース (Apache ライセンス) のフィード リーダーであり、ソース リストにこれが含まれています。彼らがどのようにそれを行ったかを見るには、ウィーンのソースコードを見てください。

于 2009-06-29T15:30:30.180 に答える
2

Viena の実装は完璧ではありません。フォルダーにフィードを追加し、読み込み中に進行状況インジケーターがビジー状態になったら、そのフォルダーを折りたたみます。進行状況インジケーターが同じ場所で引き続き実行されていることがわかります。

于 2009-08-11T16:37:43.197 に答える