Ios 隐藏来自UIViewController的文本视图

Ios 隐藏来自UIViewController的文本视图,ios,objective-c,uiviewcontroller,Ios,Objective C,Uiviewcontroller,我有一个和一个UIViewController。一个控制器有按钮和文本视图,点击这个按钮,它就会转到B控制器。然后我点击B控制器,我回到A控制器。但当我从B控制器返回时,我需要对控制器隐藏textview B控制器: -(void)A{ [self.navigationController popToRootViewController animated:YES]; } 您使用的是poptoviewcontroller方法,因此返回到上一个控制器后,数据仍然存在。因此,在从控制器导航

我有一个和一个UIViewController。一个控制器有按钮和文本视图,点击这个按钮,它就会转到B控制器。然后我点击B控制器,我回到A控制器。但当我从B控制器返回时,我需要对控制器隐藏textview

B控制器:

-(void)A{
    [self.navigationController popToRootViewController animated:YES];

}

您使用的是poptoviewcontroller方法,因此返回到上一个控制器后,数据仍然存在。因此,在从控制器导航到B控制器之前,请隐藏文本视图,以便当导航视图弹出到主视图时,文本视图将被隐藏

尝试这样使用。。。 有两种解决方案

一,


二,。使用NSUserDefaults中的键作为状态。我的意思是检查它是否来自B控制器。

有很多选择:

在导航到下一个视图之前,请隐藏textview

在ViewWillEnglishe方法中隐藏textview

使用带有NSUserDefaults的键,并检查它是否来自B控制器

在appdelegate中声明变量并在B控制器中更改其值检查控制器中的值根据结果隐藏textview

您可以通过声明视图控制器并将其设置为naviagation controller来导航到另一个页面,然后才能设置该控制器的属性

-空隙率 { [超级视图下载]

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(hideTextview) name:@“hidetextview” object:nil];
} -无效hideTextview{

textview.hidden = YES;
}

虚空视图将消失:BOOLanimated{ [[NSNotificationCenter defaultCenter]postNotificationName:@hidetextview对象:nil用户信息:nil];
}

最简单的方法是在导航到视图控制器B之前隐藏viewcontroller A中的文本视图,因此需要在

- (void)viewWillDisappear:(BOOL)animated
{
  [super viewWillDisappear:animated];
  textview.hidden = YES;
}


如果您从A->B->C导航,然后在viewcontroller C中导航到根视图控制器,即A,那么在这种情况下,我建议您维护一个变量,该变量将通知您它从哪个viewcontroller弹出,以便您可以显示/隐藏textview。

请正确解释问题。你需要告诉我们出了什么问题,你希望发生什么,以及你为解决问题所采取的步骤。
textview.hidden = YES;
->in controller B 
- (void)viewWillDisappear:(BOOL)animated
{
  [super viewWillDisappear:animated];
  textview.hidden = YES;
}
- (void)navigateToBController{
   VCB *b = [[VCB alloc]init];
   [self.navigationController pushviewController:b];
   textview.hidden = YES;
}