2

Swift と Storyboards を試すための基本的な Cocoa アプリがあります。

アプリは によって管理される 3 つのメイン ビューで構成さNSTabViewControllerれ、メイン ウィンドウの「ウィンドウ コンテンツ」関係に再びリンクされます。

ウィンドウのツールバーにを追加しNSSegmentedControlて、3 つのタブ ビューを切り替えました。

メイン ウィンドウ コントローラーで、ツールバー項目のアクション メソッドを追加してタブを切り替えましたが、タブ ビュー コントローラーへの参照を取得して実際にタブを切り替える方法がわかりません。

アクション メソッドをタブ ビュー コントローラーに追加しようとしましたが、空のビューが含まれている場合、タブ ビュー コントローラーがレスポンダー チェーンに含まれていない可能性があるため、機能しません (これはバグですか?)。

回避策として、タブ ビュー コントローラーで viewDidAppear() をオーバーライドしました。そこで、view.window.windowController へのハンドルを取得し、インスタンス変数に「self」への参照を設定します。これは機能しますが、正しくないようです。ウィンドウコントローラーからコンテンツビューコントローラーに到達する方法が必要です...

ウィンドウ コントローラーとタブ ビュー コントローラーは異なるシーンに存在するため、IBOutlet を介してそれらを接続することはできません。また、「ウィンドウ コンテンツ」関係についても、ウィンドウ コントローラでセグエ メソッドが呼び出されることはありません。

絵コンテ

4

2 に答える 2