Objective c 侦听UITabBarController中视图控制器的编程更改
我需要一个选项卡式应用程序从视图控制器2切换到视图控制器1(主视图控制器),然后立即调用视图控制器1上的方法,而无需用户进行任何输入。使用Objective c 侦听UITabBarController中视图控制器的编程更改,objective-c,ios,Objective C,Ios,我需要一个选项卡式应用程序从视图控制器2切换到视图控制器1(主视图控制器),然后立即调用视图控制器1上的方法,而无需用户进行任何输入。使用viewDidLoad不起作用,因为(据我所知)主视图控制器始终保持加载状态;使其可见不会再次加载。我一直在尝试使用-(void)tabBarController:didSelectViewController:,但我认为它也不会被调用,因为它只适用于用户启动的选择,而不是编程选择 那么我能做什么呢?您可以使用方法-(void)viewwillbeen来执行此
viewDidLoad
不起作用,因为(据我所知)主视图控制器始终保持加载状态;使其可见不会再次加载。我一直在尝试使用-(void)tabBarController:didSelectViewController:
,但我认为它也不会被调用,因为它只适用于用户启动的选择,而不是编程选择
那么我能做什么呢?您可以使用方法
-(void)viewwillbeen
来执行此操作。一旦视图已经加载,当它出现时,您可以做任何您想做的事情!这是:
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// You code here to update the view.
}
嗯,我刚刚在视图控制器1和视图控制器2中都尝试过,但是我放在其中的方法没有被调用。我肯定我是误解了——你介意更明确地说明我是如何做到这一点的吗?很抱歉没有收到。我在上面编辑了我的答案!检查并测试它!您还可以包括类似于
NSLog(“当viewcontroller 1/2出现时调用的方法”)
的内容,以检查是否正在调用此方法。