当我在 iPhone 的导航栏上单击返回时,如何弹出到所需的视图控制器
Posted
技术标签:
【中文标题】当我在 iPhone 的导航栏上单击返回时,如何弹出到所需的视图控制器【英文标题】:How can i pop to a required view controller when i click on back on navigation bar in iPhone 【发布时间】:2012-02-17 07:46:29 【问题描述】:在我的应用程序中,我有 6 个不同的视图控制器。 1.首页 2. 表格视图 3.表格视图元素的细节,这也是一个4行的表格视图 4. 4,5,6 详细信息的编辑/修改视图(详细信息表中的每一行都可以修改和重新加载)
当在 4、5、6 视图中编辑详细视图的 hte 数据时,导航被推送到第二视图详细视图。
当我详细点击后退导航时,它会弹出到最近修改的上一个视图。 但我需要弹出(推到左侧/背面但不推到右侧)到 tableview1 所以我为此按钮创建了一个左导航项实现的操作。
UIBarButtonItem *backButton = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(backclick:)] autorelease];
self.navigationItem.leftBarButtonItem = backButton;
在 click acitio 中我使用了三种不同的方法
1.popToRootViewcontroller : it takes back to the home page. so ,didn't need it (X)
2.[self.navigationController pushViewController:abc animated:YES]; it pushes right/front (X)
3.present model view controller
一切都在工作并进入表格视图,但方向不正确,即不弹出到后面,只是推到前面。所以,我使用了popto viewcontoller。
4.popViewController(我猜这是正确的过程)但它崩溃并显示错误视图所以不存在
-(IBAction)backclick:(id)sender
ChronologyViewController *temp = [[ChronologyViewController alloc]initWithNibName:@"ChronologyViewController" bundle:nil];
[self.navigationController popToViewController:temp animated:YES];
【问题讨论】:
【参考方案1】:for (UIViewController *vc in [self.navigationController viewControllers])
if ([vc isMemberOfClass:[yourViewController class]])
NSLog(@"Inside if");
[self.navigationController popToViewController:vc animated:YES];
return;
【讨论】:
以上是关于当我在 iPhone 的导航栏上单击返回时,如何弹出到所需的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章