0

別のxibファイルにUIBarButtonアイテムがありますが、そのボタンが押されたときに、ストーリーボードのビューに表示したいと思います。

ストーリーボードビュー(丸いrectボタンが押されたとき)から、別のカスタムxibファイルビューに移動できます。しかし、私は戻ることができません(丸いrectボタンまたはuibarbuttonitemのいずれかを使用して)。

誰か助けてもらえますか?

4

1 に答える 1

0

このコードを使用してxibからビューを作成した場合:

-(IBaction)button { 
    MainViewController *viewOther = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:[NSBundle mainBundle]]; 
    [self.view addSubview:viewOther.view]; 
    [THISViewController release]; 
}

次に、新しいサブビューコントローラでこれを実行して削除し、ストーリーボードのビューに「戻ります」。

[self.view removeFromSuperview];

しかし、これがこれを処理するための最良の方法ではないと思います。viewController私は新しいものをとして提示し、modalViewControllerこれを使用して行われたときにそれを却下したでしょう:

それを提示する:

-(IBaction)button { 
    MainViewController *viewOther = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:[NSBundle mainBundle]];
    [self presentModalViewController:viewOther animated:YES];
}

次に、これを使用してリリースします。

[self dismissModalViewControllerAnimated:YES];

ただし、これはまだ実際には最善の方法ではありません。これを行う最良の方法は、でデリゲートを作成してからMainViewController、ストーリーボードビューコントローラに自身をのデリゲートとして割り当てさせることMainViewControllerです。次に、ボタンが押されたときに、ボタンを閉じるように(ストーリーボードビューコントローラー)にMainViewController指示する必要があります。その後、ストーリーボードビューコントローラーはを閉じます。ただし、特にプロトコルの作成に慣れていない場合は、説明するのに少し時間がかかります。delegateMainViewController

于 2012-08-08T20:01:13.277 に答える