2

私はメモリ管理の問題を抱えていましたが、最終的に問題を発見し、新しいView Controllerをインスタンス化し続けています。FirstViewControllerアプリが起動すると、ストーリーボード内の要素であるに直接移動しUITabBarControllerます。

次にFilterViewController、この方法で示します。

- (IBAction)searchOptions:(id)sender {
    FilterViewController *ctrl = [[FilterViewController alloc] init];
    [UIView transitionFromView:self.view toView:ctrl.view duration:1 
          options:UIViewAnimationOptionTransitionCurlUp completion:nil];

    self.filterViewController = ctrl;

    [self.navigationController pushViewController:self.filterViewController 
          animated:NO];
}

これはFilterViewController正常に動作し、独自の .xib を持っているため、ストーリーボードにはありません

ポップバックしようとすると、次のFirstViewController方法を使用します。

- (IBAction)backToMap:(id)sender {

    // i used the below when trying to push another view controller
    /*UIStoryboard *storyboard = [UIStoryboard storyboardWithName
        :@"MainStoryboard" bundle:nil];

    FirstViewController *fvc = [storyboard 
        instantiateViewControllerWithIdentifier:@"FirstViewController"];

    fvc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;*/

    [self.navigationController popViewControllerAnimated:YES];
}

ただし、何もしません。ここで何が問題なのかわかりません。

4

1 に答える 1

1

popViewontrollerAnimated は、View Controller をナビゲーション スタックにプッシュした場合にのみ使用されるため、プロジェクトに存在しない限り、ここでは何もしません。

transitionFromView... を使用すると、現在のビューが新しいビューに置き換えられるため、古いビューに戻すには再度呼び出す必要があります。

于 2013-07-22T09:22:37.387 に答える