我在弹出视图时遇到问题。 pop已成功完成但是当在该视图上弹出视图时,按钮操作被禁用,所以我可以帮助我。 如何弹出并将视图推送到ios中的特定位置。 我有5个视图控制器。
1 view -> 2 view -> 3 view -> 4 view -> 5 view
我希望通过appDelegate从5视图弹出到2视图?
- (IBAction)btnAddQuotes:(id)sender
{
LibraryVC *obj =[[LibraryVC alloc]initWithNibName:@"LibraryVC" bundle:nil];
[self.navigationController popToViewController:obj animated:YES];
}
答案 0 :(得分:1)
如果你的索引固定为2,那么就像
那样-(void)gotoSpecificController
{
UIViewController *destController = (UIViewController*)[self.navigationController.viewControllers objectAtIndex:2];
[self.navigationController popToViewController:destController animated:YES];
}
或者您可以计算目标控制器的索引并将其替换为objectAtIndex
方法。
修改强>
在按钮上单击这样写代码,在appdelegate中写上面的函数并适当声明。
-(IBAction)buttonClicked:(id)sender
{
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate gotoSpecificController];
}
答案 1 :(得分:0)
将此代码用于弹出特定视图控制器
NSArray *controllerArray = self.navigationController.viewControllers;
for(int i=0;i<controllerArray.count;i++)
{
if([[controllerArray objectAtIndex:i]isKindOfClass:[LibraryVC class]])
{
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:i] animated:YES];
break;
}
}