1

数日間、複数の NSView を 1 つの .xib ファイルにまとめる方法を見つけようとしてきました。NSViewControllerメインコントローラーとして使用しているサブクラスを追加しましたNSView。2 つのカスタムビュー用のアウトレットを持つ 2 つの があります。これを 2 つの NSViewController (PumpController と TransactionController) にサブクラス化して、両方のカスタム ビューのコンテンツを制御しました。

MainController (ファイルの所有者) のビューをカスタム ビューの 1 つにバインドすると、半分の結果が得られます。次に、[self.view addSubview:SomeStuff] を NSViewController の 1 つに呼び出すと、正しい結果が得られますが、ファイルの所有者を接続したビューでのみ得られます。両方のビューで結果を取得する必要がありますが、ビュー アウトレットで複数のファイルの所有者を持つことはできません。ここに写真があります

NIB 内の複数のビュー。 リンク: http://i.stack.imgur.com/gwSAq.jpg

また、上記のアウトレットを正しいビューにバインドしても、PumpController から "outlet".bounds.size.width の結果を取得できません。self.view.bounds.size.width は、PumpController ビューの結果ではなく、ファイルの所有者ビューの結果を提供します。

これを機能させるために、各カスタムビューを各 NSViewController にセットアップする方法を説明する助けが必要です。

私の英語でごめんなさい:s

前もって感謝します

4

1 に答える 1

1

私は次のようにします:

  • メインの XIB でNSBox、ViewController のビューを表示したい場所にインスタンスを (境界線と見出しなしで) 配置します。
  • によってボックスをファイルの所有者に接続しますIBOutlets
  • その XIB のファイルの所有者 (おそらく = AppDelegate) でインスタンスを作成し、NSBox インスタンスのプロパティを のプロパティに設定NSViewControllersします。そのように: .contentViewviewNSViewControllers[self.leftBox setContentView:[yourViewController view]]
于 2012-06-05T20:51:22.037 に答える