Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向TabBar序列图像板序列添加参数_Ios_Segue_Tabbar - Fatal编程技术网

Ios 向TabBar序列图像板序列添加参数

Ios 向TabBar序列图像板序列添加参数,ios,segue,tabbar,Ios,Segue,Tabbar,我有一个带有3个按钮的TabBar,第2个和第3个按钮有一个到同一控制器的序列,该序列根据一个参数显示不同的信息 我已经重写了要实现的TabBar类- - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender; 为了能够在执行segue之前添加我的param,但是我必须缺少一些明显的东西,因为prepareforsgue没有被调用 在不以编程方式创建自定义segue的情况下,是否可以实现这一点?根据我的说法,您不

我有一个带有3个按钮的
TabBar
,第2个和第3个按钮有一个到同一控制器的序列,该序列根据一个参数显示不同的信息

我已经重写了要实现的
TabBar
类-

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
为了能够在执行segue之前添加我的param,但是我必须缺少一些明显的东西,因为
prepareforsgue
没有被调用


在不以编程方式创建自定义segue的情况下,是否可以实现这一点?

根据我的说法,您不能与链接为“根”控制器的segue进行交互。 这些segue没有“被调用”,因为它们不表示两个视图控制器之间的转换

如果您查看Interface Builder,则没有可用于此类segue的设置

我在我的一个项目中遇到了一个类似的问题,通过编程设置控制器解决了这个问题。之后,在情节提要中添加视图控制器,并在右侧面板中设置“情节提要ID”

然后,您可以通过执行以下操作来实例化视图控制器

[self.storyboard instantiateViewControllerWithIdentifier:@"YOUR_VIEW_CONTROLLER_ID"];
[self setViewControllers:viewControllers];
并通过执行以下操作将其影响到UITabBarController

[self.storyboard instantiateViewControllerWithIdentifier:@"YOUR_VIEW_CONTROLLER_ID"];
[self setViewControllers:viewControllers];

希望这有帮助

不确定这是否是最佳实践,但我最终从控制器中获得了所选选项卡-

self.tabBarController.selectedIndex

通过这种简单的方式,我知道我应该显示什么信息,而不改变我的
故事板序列

你确定它不会被调用吗?这听起来很不寻常。我没有对此进行测试,但在UITabBarDelegate中重写tabBar:didSelectItem:可能会有所帮助。您的UITabBarDelegate可能是您的UITabBarController。您可以在TabBar类的
viewDidLoad
中执行此操作。迭代
viewControllers
并根据需要配置它们?谢谢@foOg,这不是我一直在寻找的解决方案,但我会记住这一点作为最后的参考资料。我很好奇你是否能找到更好的解决方案:)