3

さて、私は各タブにnavigationControllerを備えたタブベースのアプリを持っています。各navigationControllerのルートにいて、ビューをプッシュすると、アニメーションは完全に実行されますが、プッシュされたビューを表示してポップしたい場合、navigationControllerはアニメーション化されますが、ビューはアニメーション化されません。これは私がそれをポップするために使用するものです:

[self.navigationController popViewControllerAnimated:YES];

そしてそれをプッシュするには:

[self.navigationController pushViewController:activityController animated:YES];

なにか提案を?

編集:

ルートコントローラーにtableViewがあります。行を選択するたびに、このコードを実行します

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    ActivityViewController *activityController = [[ActivityViewController alloc] initWithNibName:@"ActivityViewController" bundle:nil];

    UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [backButton setBackgroundImage:[UIImage imageNamed:@"BackButonItem"] forState:UIControlStateNormal];
    [backButton setBackgroundImage:[UIImage imageNamed:@"BackButonItem_Pressed"] forState:UIControlStateHighlighted];
    [backButton addTarget:self action:@selector(popBack) forControlEvents:UIControlEventTouchUpInside];
    [backButton setFrame:CGRectMake(15, 10, 55, 30)];
    UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

    activityController.navigationItem.leftBarButtonItem = backButtonItem;
    activityController.navigationItem.hidesBackButton = YES;

    [self.navigationController pushViewController:activityController animated:YES];
}

これが私のpopBackメソッドです。

- (void) popBack
{
    [self.navigationController popViewControllerAnimated:YES];
}
4

1 に答える 1

0

で試しましたか

[self.navigationController popToViewController:self animated:YES];

多くの人の問題を解決したようです。

于 2012-05-05T00:04:43.233 に答える