2012-04-16 8 views
0

私のXCodeプロジェクトでさまざまなカスタムビューを変更する方法がわかりません。XCode/Cocoa Macのビューを変更する

私はメインのnibファイルを1つのメインウィンドウと5つのカスタムビューで構成しています。メインウィンドウは5つのボタンで構成されており、それぞれ異なるビューに接続する必要があります。たとえば、ボタン1をクリックすると、現在のメニューが閉じられ、カスタム表示1がロードされます。

これがどのように実行されるかわかりません。

5つのボタンと5つのカスタムビューのIBOutletsを作成し、openView1、openView2などのさまざまなメソッドに接続して、それぞれのメソッドが現在のメニューを閉じてカスタム表示をロードすると思いますか?

私はこれを達成する方法をコードワイズに手伝ってもらえますか?

大変助かりました。

ありがとうございました

答えて

3

本質的にタブビューが必要ですか?

Interface BuilderでNSTabViewを作成することができます。タブの数を5に設定します。その中に必要なビューの内容をレイアウトします。

タブが視覚的に見えるように標準システムを使用していれば幸いです。ただし、タブを切り替えるカスタムボタンが必要な場合は、をお読みください。選択した自分のタブ表示で

は、タブレスにそのスタイルを設定します。

enter image description here

これは、タブボタンが消えます。つまり、ビュー間の切り替えはコードを通じて行う必要があります。まず、タブビュー自体を表すIBOutletが必要です。これを接続します。そして、このようになりますよう、openView1:ためIBActionメソッドを記述します。

- (IBAction)openView1:(id)sender 
{ 
    [tabView selectTabViewItemAtIndex:0]; 
} 

自分でボタン(つまり、タブビューの外側のどこかにあなたの窓に座っている、そうでなければ、一つだけからアクセスすることができるだろうしてくださいタブ!)を開き、このアクションに接続します。

これはおそらく、このようなインターフェースを使うのが最も簡単な方法です。コードをどのように構造化するかによって、改善する方法がたくさんあります。たとえば、あなたがiOS開発から来ているように聞こえます。ここでは、各タブに対してUIViewControllerを作成します。さて、MacにはNSViewControllerが存在するので、同様のパターンを使用することができます。ただし、そうした場合は、ビューコントローラのビューをタブビューに表示するコードを記述する必要があります。 Interface BuilderのようにiOSのように自動的には発生しません。そのルートに行くことを選択した場合は、This tutorialを起動する必要があります。

+0

私はタブビューの使用については考えていませんでしたが、これは問題の回避策の一種ですか?いずれにせよ、それは素敵でシンプルで、仕事が終わったので、とても感謝します! – Cristian

+0

これは実際にはうまくいきませんが、ビューのセットをスワップするのが一番簡単な方法です。この目的のためにタブビューを使用すると問題はありません。 –

関連する問題