0

私は 1 つの小さな iOS アプリを開発しており、View Controller のナビゲーションで問題に直面しています。これは私のコードです(ネットから入手しました):

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:       (NSIndexPath *)indexPath
{
    DetailsViewController *page = [[DetailsViewController alloc] init];
    CGRect theFrame = page.view.frame;
    theFrame.origin = CGPointMake(self.view.frame.size.width, 0);
    page.view.frame = theFrame;
    theFrame.origin = CGPointMake(0,0);
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.2f];
    page.view.frame = theFrame;
    [UIView commitAnimations];  

    [self.view addSubview:page.view];
 }

これにより、新しいView Controllerに移動できます。これは正常に機能していますが、ボタンをタップすると元のコントローラーに戻る必要があります。これは私が立ち往生しているところであり、ナビゲーションコントローラーを使用しておらず、iOS は初めてです。より良い方法でこれを行う方法についてアイデアをお持ちの方がいらっしゃいましたら、ぜひお聞かせください。

4

2 に答える 2

0

プッシュ アニメーションとポップ アニメーションを提供する場合は、現在のビュー コントローラーを作成して、ナビゲーション コントローラーのルート コントローラーを作成する必要があります。

そして、この後::

A_ViewController

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:       (NSIndexPath *)indexPath
{
    B_ViewContorller *page = [[DetailsViewController alloc] init];
    [self.navigationController pushViewController:page animated:YES];
}

B_ViewController B_ViewController に到達した後、A_ViewController に戻りたい

デフォルトのナビゲーションバーを使用していない場合は、これを使用してください

[self.navigationController popToRootViewControllerAnimated:YES];

デフォルトのナビゲーション バーを使用する利点の 1 つは、デフォルトの [戻る] ボタンを提供することです。デフォルトのナビゲーションバーを使用することをお勧めします。

于 2013-08-23T13:29:12.443 に答える