gpt4 book ai didi

ios - 从另一个选项卡调用 popToRootViewController

转载 作者:行者123 更新时间:2023-12-01 18:16:55 24 4
gpt4 key购买 nike

我有使用 Storyboard的导航 Controller 应用程序的标签栏,
我的目的是在 tab3 中按下一个按钮,在后台我希望 tab1 到“popToRootViewController”

tab3 viewcontroller 中的按钮:

- (IBAction)Action:(id)sender {

vc1 * first = [[vc1 alloc]init];
[first performSelector:@selector(popToRootViewController) withObject:Nil];

}

tab1 View Controller 中的代码
-(void)popToRootViewController{

[self.navigationController popToRootViewControllerAnimated:NO];
NSLog(@"popToRootViewController");
}

我得到 popToRootViewController在日志中,但该操作未执行。

解决问题的:
- (IBAction)Action:(id)sender {

[[self.tabBarController.viewControllers objectAtIndex:0]popToRootViewControllerAnimated:NO];


}

最佳答案

你这样做的方式:

vc1 * first = [[vc1 alloc]init];
[first performSelector:@selector(popToRootViewController) withObject:Nil];

是不正确的。实际上,您在这里创建了一个全新的 Controller ,完全独立于您现有的 Controller ,并且不属于任何导航 Controller 。因此, self.navigationControllernilpopToRootViewController .

您可以尝试执行以下操作:
 //-- this will give you the left-most controller in your tab bar controller
vc1 * first = [self.tabBarController.viewControllers objectAtIndex:0];
[first performSelector:@selector(popToRootViewController) withObject:Nil];

关于ios - 从另一个选项卡调用 popToRootViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21017985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com