1

デスクトップ Cocoa 開発を始めたばかりです (iOS 開発の経験があります)。この質問が基本的なように思われる場合は、ご容赦ください。

そうは言っても、私は多くの計算と処理する機能を備えた大規模なプログラムを扱っています。NSTabView で編成されたほぼ 12 のビューがあります。クラスの 1 つの怪物にすべてをダンプし、私のシステムを屈服させる XIB ファイルを作成するのではなく (Xcode は明らかにそれほど効率的ではありません...誰が知っていましたか? :P)。各タブを XIB を伴う独自の NSViewController にしたいと考えています。そのため、対応する XIB から各タブのビューをロードしたいと思います。

私はこれを UITabBarController の観点から考えていますが、これは機能していないようです (私が見つけることができる限り、NSTabViewController はありません)。これを行う方法がわかりません (または、可能であるとしても、この問題を抱えているのは私だけではありませんか?)。助けていただければ幸いです。ありがとう!

更新:コントローラーのビューをタブのビューに割り当てようとしましたが、それではうまくいかないことにすぐに気付きました。NSTabViewController をゼロから作成する価値はありますか、それとも解決策はありますか?

4

2 に答える 2

3

デスクトップでの Cocoa 開発は、iOS 開発と比べて大きな違いがいくつかあります。それらの 1 つは、ビュー コントローラーの使用です (厳密には必要ではありません)。ビュー コントローラーを使用する場合は、含まれるビューの種類に関係なく、汎用の NSViewController に固執することができます。タブ ビューを制御するために必要なすべてのメソッドは、コントローラではなく NSTabView クラスにあります。

そうは言っても、タブビューに 12 個のビューを配置するのは、プログラムと対話するのに苦痛な方法のように思えます。ソース詳細タイプのセットアップについて考えたことはありますか (iTunes やサイドバー付きのメールを考えてみてください。サイドバーの各エントリは異なるビューに対応しています)。

于 2011-09-08T00:15:20.060 に答える
1

私はタブ バーを捨て、sosborn の提案に従って、分割ビューを使用しました。むしろ、横にテーブル ビューを配置し、画面の大部分を占めるカスタム ビューを使用しました。次に、私の AppDelegate では、ivar として個々のコントローラーを持っています (多くの計算が必要なため、個々のコントローラーが必要であり、それらすべてをモンスター クラスで処理する必要はありません)。それらは遅延ロードされ、ビューは必要に応じて現在のコントローラーのビューに割り当てられます。

于 2011-09-11T23:35:11.107 に答える