0

我正在开发一个小型 iOS 应用程序,并且在视图控制器的导航中遇到问题。这是我的代码(我从网上得到的):

- (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];
 }

通过它我可以导航到新的视图控制器。这工作正常,但我现在需要在点击按钮后回到我原来的控制器。这就是我卡住的地方,我没有使用任何导航控制器,而且是 iOS 新手。如果你们中的任何人知道如何以更好的方式做到这一点,那么听到它会很棒!

4

2 回答 2

1

转到使用此代码的 nextview 控制器..

ViewController * v=[[ViewController alloc]init];

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

回到privous主视图控制器使用此代码

[self.navigationController popToRootViewControllerAnimated:YES];
于 2013-08-23T13:20:30.210 回答
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];

使用默认导航栏的好处之一是它为您提供了默认的后退按钮。我建议使用默认导航栏。

于 2013-08-23T13:29:12.443 回答