2017-03-25 3 views
1

私は現在、一度にURLからオーディオファイルのバッチをダウンロードするためのMacOSのデスクトップアプリケーションの開発に取り組んでいます。私は理解できないUIデザインに関する質問に遭遇しましたでる。Xcodeでカスタムビューのリストを作成

私は入力されたURLに関する情報(例えば、URL、タイトル、長さ、作成者など)を保持するクラスSongEntry.swiftを持っています。新しいビューが更新されると、が加えられる。

ベースビューは次のようになります。私は、リストを保持する場所大きな白い領域の内側

enter image description here

です。

各エントリを処理する別個のビューコントローラを作成しようとしましたが、動作しませんでした。 MacOSのUIデザインはiOSとは大きく異なりますが、私が探しているのはテーブルビューとセルプロトタイプをiOSからシミュレートする方法ですが、適切なオプションが見つからないと思います。

誰かが解決策を知っているか、正しい方向に向けることができれば、私は大いに感謝しています!

答えて

2

コレクションビューの1つです。縦リストの場合は、おそらくNSTableViewを1列だけ使用し、ヘッダーのようなものはすべて非表示にします。ここで

おおよそ必要な手順は次のとおりです。

  • あなたの既存のビューコントローラを使用するか、単にテーブルのささげるビューコントローラを作成(およびInterface Builderで「埋め込む」オプションを使用)することができます
  • このビューコントローラは、NSTableViewDataSourceNSTableViewDelegateのプロトコルを使用してデータ(あなたのSongEntryオブジェクト)と各行のビューを提供します。
  • NSTableViewのソースとデリゲートをビューコントローラに設定しました。
  • "セル"として機能するビューを作成します。ビューは、各行がデータを表示するために使用します。 IBまたはコードで設計することができます。

全体のプロセスは、Table View Programming Guide for Macで詳細に説明されています。

このトピックは少し混乱する可能性があります。ビューベースとNSCellベースの2つの主なアプローチがあります。 NSCellのやり方で気にしないでください。残念ながら残念です。

また、NSTableViewDataSourceNSTableViewDelegateには、最初はちょっと混乱する可能性のあるデータとビューを提供する方法がいくつか重複しています。ちょうどコードとサンプルと一緒に遊んで、どのようなときに使用するデリゲートメソッドを明確になります。

多くの例がAppleの開発者サイトとgithubにあります。 raywenderlich.comに関する良いチュートリアルもあります。

関連する問題