弹出到下一个视图控制器iOS
我有5-6个视图控制器。我试图弹出到特定的视图控制器。就像我有第一个视图名称“来宾”第二个视图名称“供应商”第三个视图名称“地址”。现在我在“地址”视图中,我想进入“来宾”视图。但这不会正确发生。任何人都可以帮我。下面是我用来从视图中弹出的给定代码弹出到下一个视图控制器iOS,ios,objective-c,Ios,Objective C,我有5-6个视图控制器。我试图弹出到特定的视图控制器。就像我有第一个视图名称“来宾”第二个视图名称“供应商”第三个视图名称“地址”。现在我在“地址”视图中,我想进入“来宾”视图。但这不会正确发生。任何人都可以帮我。下面是我用来从视图中弹出的给定代码 - (void)addButtonAction { if([selectVisitor.text isEqualToString:[NSString stringWithFormat:@"Guest"]]) { NSL
- (void)addButtonAction
{
if([selectVisitor.text isEqualToString:[NSString stringWithFormat:@"Guest"]])
{
NSLog(@"NISha");
for (UIViewController *Controller in self.navigationController.viewControllers)
{
if ([Controller isKindOfClass:[GuestView class]])
{
[self.navigationController popToViewController:Controller animated:YES];
break;
}
}
}
}
试试这个
- (void)addButtonAction {
if([selectVisitor.text isEqualToString:[NSString stringWithFormat:@"Guest"]])
{
BOOL flag = FALSE;
for (UIViewController *Controller in self.navigationController.viewControllers)
{
if ([Controller isKindOfClass:[GuestView class]])
{
[self.navigationController popToViewController:Controller animated:YES];
flag = TRUE;
break;
}
}
}
if(!flag) {
GuestView *controllerObject = [[GuestView alloc] initWithNibName:@"GuestViewNibName" bundle:nil];
[self.navigationController pushViewController:controllerObject animated:YES];
}
}
[self.navigationController popToRootViewControllerAnimated:YES];
试试这个
- (void)addButtonAction {
if([selectVisitor.text isEqualToString:[NSString stringWithFormat:@"Guest"]])
{
BOOL flag = FALSE;
for (UIViewController *Controller in self.navigationController.viewControllers)
{
if ([Controller isKindOfClass:[GuestView class]])
{
[self.navigationController popToViewController:Controller animated:YES];
flag = TRUE;
break;
}
}
}
if(!flag) {
GuestView *controllerObject = [[GuestView alloc] initWithNibName:@"GuestViewNibName" bundle:nil];
[self.navigationController pushViewController:controllerObject animated:YES];
}
}
[self.navigationController popToRootViewControllerAnimated:YES];
试试这个
- (void)addButtonAction {
if([selectVisitor.text isEqualToString:[NSString stringWithFormat:@"Guest"]])
{
BOOL flag = FALSE;
for (UIViewController *Controller in self.navigationController.viewControllers)
{
if ([Controller isKindOfClass:[GuestView class]])
{
[self.navigationController popToViewController:Controller animated:YES];
flag = TRUE;
break;
}
}
}
if(!flag) {
GuestView *controllerObject = [[GuestView alloc] initWithNibName:@"GuestViewNibName" bundle:nil];
[self.navigationController pushViewController:controllerObject animated:YES];
}
}
[self.navigationController popToRootViewControllerAnimated:YES];
试试这个
- (void)addButtonAction {
if([selectVisitor.text isEqualToString:[NSString stringWithFormat:@"Guest"]])
{
BOOL flag = FALSE;
for (UIViewController *Controller in self.navigationController.viewControllers)
{
if ([Controller isKindOfClass:[GuestView class]])
{
[self.navigationController popToViewController:Controller animated:YES];
flag = TRUE;
break;
}
}
}
if(!flag) {
GuestView *controllerObject = [[GuestView alloc] initWithNibName:@"GuestViewNibName" bundle:nil];
[self.navigationController pushViewController:controllerObject animated:YES];
}
}
[self.navigationController popToRootViewControllerAnimated:YES];
为什么
popToViewController
?保存一些数据后,我想进入保存数据的视图,这就是为什么我想弹出到guestpopToViewController
视图的原因。只有当您的navigationController
堆栈中有该视图时,它才会起作用。您使用了错误的方法。使用-(void)prepareforsgue:(UIStoryboardSegue*)segue sender:(id)sender{//your code}
取而代之。那么我是如何知道我的堆栈中是否有该视图的呢???为什么popToViewController
?保存一些数据后,我想进入该视图中保存数据的位置,这就是为什么我想弹出该视图,即guestpopToViewController
,只有当您的堆栈中有该视图时,该视图才会起作用navigationController
stack。您使用了错误的方法。使用-(void)prepareforsgue:(UIStoryboardSegue*)segue sender:(id)sender{//your code}
。那么我如何知道我的堆栈中是否有该视图?哪个问题?你能分享你的问题链接吗。。。。检查链接,先生:p@MayankJain,您如何知道视图控制器已在导航控制器堆栈中??如果她没有访问特定的视图控制器,该怎么办popToViewController
仅当您的navigationController
堆栈中有该视图时才起作用。检查她的代码,请先阅读所有其他注释。@Sujay您在20分钟前更新了答案。现在这是正确的。。。在此之前,您每次都试图推送VC。@MayankJain,这是真的,我以前的代码每次都在navigationController
堆栈中推送viewController
。但是您的评论“为什么要推一个已经在导航层次结构中的视图控制器?”也是没有建设性的。顺便说一句,lalit的回答完全错了,因为她试图跳到特定的视角。哪个问题?你能分享你的问题链接吗。。。。检查链接,先生:p@MayankJain,您如何知道视图控制器已在导航控制器堆栈中??如果她没有访问特定的视图控制器,该怎么办popToViewController
仅当您的navigationController
堆栈中有该视图时才起作用。检查她的代码,请先阅读所有其他注释。@Sujay您在20分钟前更新了答案。现在这是正确的。。。在此之前,您每次都试图推送VC。@MayankJain,这是真的,我以前的代码每次都在navigationController
堆栈中推送viewController
。但是您的评论“为什么要推一个已经在导航层次结构中的视图控制器?”也是没有建设性的。顺便说一句,lalit的回答是完全错误的,因为她试图跳到特定的视角。