0

NSViewController が添付されたさまざまな xib ファイルがあります。(下のスクリーンショット)

ここに画像の説明を入力

ボタンを持つ StartMenuViewController と呼ばれる xib ファイルの 1 つ。そのボタンをクリックして、ビューを DetectingUSBViewController に変更したい (下のスクリーンショット) そのボタンの IBAction は StartMenuViewController.m ファイルにあります。

ここに画像の説明を入力

そして、AppController.m を使用してメインの xib ビューを制御します (NSWindow + NSView) (下のスクリーンショット) ここに画像の説明を入力

アプリケーションが実行されると、AppController.m ファイルで次のことを実行して、StartMenuViewController の拳を初期化しようとします。

-(void)awakeFromNib{   
    [self initialize];
}

-(void) initialize
{
    @autoreleasepool {
        //mainViewController is a NSViewController and _mainView is a NSView which connect with Custom View in main xib
        self.mainViewController = [[[StartMenuViewController alloc]initWithNibName:StartMenuView bundle:nil]autorelease];
        [_mainView addSubview:[_mainViewController view]];
    }
}

それは正常に動作し、最初はウィンドウに StartMenuViewController.xib が表示されますが、ボタンをクリックした後にビューを変更する方法がわかりません (USB ドライブを検索)。現在のビューを DetectingUSBViewController.xib に変更したい。

4

3 に答える 3

0
  1. IBAction を送信するには、ボタンを接続する必要があります
  2. 'View for DetectingUSBViewController.xib' が必要です => 1 つの方法 (iOS のような) は、ViewController を使用することです。NSViewController をサブクラス化し、DetectingUSBViewController を init に割り当てます。
  3. ビューを追加します。VC を提示しないでください (OSX にはそのようなものがないため)。

//button click action
- (IBAction)usbButton:(UIButton *)sender {
     //! Retain the VC
     Self.detectingUSBViewController = [[DetectingUSBViewController alloc] initWithNibName:@"DetectingUSBView" bundle:nil];

     //add the view
     [_mainView addSubview:[_detectingUSBViewController view]];

}

于 2013-06-01T10:18:37.847 に答える
0

DetectingUSBViewController をロードして、追加/ 置換するビューを追加または置換しstartMenuViewControllerます 。DetectingUSBViewController* v1 = [[ViewCont1 alloc] initWithNibName:@"ViewCont1" bundle:nil];[v1 view]

于 2013-06-01T10:07:08.103 に答える