0

obj-c は初めてです。

xib からビューをロードする、単純な MainViewController を作成しました。(標準のシングル ビュー テンプレートから)

メイン ビューには、別のビューに移動するためのボタンがあります。以下は方法です:

-(IBAction)forward:(id)sender
{
    tvc = [[TrackViewController alloc] initWithNibName:nil bundle:[NSBundle mainBundle]];
    [self.view addSubview:tvc.view];
}

他のビュー (これも xib からロードされます) には、メイン ビューに戻るためのボタンがあります。

メイン ビューに戻るための IBAction は次のとおりです。

-(IBAction) back:(id)sender {
    [self.navigationController popViewControllerAnimated:YES];
}

ただし、メイン ビューには戻りません。popToRootViewControllerAnimated: どちらでもありません。

任意の応答をいただければ幸いです。

4

3 に答える 3

0

にロードする必要がありMainViewControllerますAppDelegateUINavigationController

MainViewController *mainVC = ...
UINavigationController *naviVC = [[UINavigationController alloc] initWithRootViewController:mainVC];
self.window.rootViewController = naviVC;

次に、MainViewController で先に進むことができます。

-(IBAction)forward:(id)sender;
{
    tvc = [[TrackViewController alloc] initWithNibName:nil bundle:[NSBundle mainBundle]];
    [self.navigationController pushViewController:tvc animated:YES];
}

他のViewControllerに戻ります:

-(IBAction) back:(id)sender {
    [self.navigationController popViewControllerAnimated:YES];
}
于 2013-07-10T15:38:36.093 に答える
0

MainViewController が UINavigationController 内にある場合、forwardメソッドは次のようになります。

-(IBAction)forward:(id)sender
{
    tvc = [[TrackViewController alloc] initWithNibName:nil bundle:[NSBundle mainBundle]];
    [self.navigationController pushViewController:tvc animated:TRUE];
}
于 2013-07-10T15:38:42.117 に答える