Ios 隐藏来自UIViewController的文本视图
我有一个和一个UIViewController。一个控制器有按钮和文本视图,点击这个按钮,它就会转到B控制器。然后我点击B控制器,我回到A控制器。但当我从B控制器返回时,我需要对控制器隐藏textview B控制器: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方法,因此返回到上一个控制器后,数据仍然存在。因此,在从控制器导航
-(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;
}