gpt4 book ai didi

ios - 两个 UITabBarControllers 共享一个 ViewController(作为选项卡内容)?

转载 作者:可可西里 更新时间:2023-11-01 03:21:26 25 4
gpt4 key购买 nike

情况:两个 UITabBarController,每个都有自己的选项卡,但两者 中的最后一个选项卡是相同的,因此需要一个 UIViewController 来显示内容。

运行时问题:共享项仅出现在显示时的一个选项卡集中。

问题:任何人都知道使这项工作有效的方法吗?

链接到 Storyboard设置的外部图形:(抱歉,没有足够的声誉在这里张贴图片!) Storyboard graphic

带有该 Storyboard的 Xcode 项目: XCode Project

每个选项卡内容项都有自己的 UIViewController 类。除了使后退按钮起作用的行之外,它们不包含任何代码。

(是的,我知道这很奇怪。实际情况是一个 iPad 应用程序,其中选项卡 Controller 显示在弹出窗口中;弹出窗口是“属性编辑器”,其中不同的对象具有不同的属性,但都共享一组公共(public)属性...因此,一个选项卡用于“独特” Prop ,一个共享选项卡内容用于所有对象具有的“通用” Prop 。)

我已经找到了一些解决方法来获得我想要的效果,但如果这个 Storyboard 有效,那将是一个更简单的解决方案。

-- 其他信息,与问题有些无关--

我正在使用的替代解决方案:TabBarControllers 仅链接到一个 VC 作为选项卡内容。当该选项卡 VC 加载时,我使用代码 (a) 通过标识符从 Storyboard 中实例化共享 VC,(b) 通过 [tabController setViewControllers:list animated:NO] 添加新的 VC 对象到 TabBarController。

(我更不喜欢的另一种可能的解决方案:不使用 TabBarController,并在内容 VC 中绘制我自己的“选项卡”图形,每个都显示“我自己”被选中。Yuk。)

所以我有一个可行的解决方案,我只是好奇为什么它不起作用(只是 iOS API 中的一个已知事物,或者一些可能使其起作用的神奇属性设置?)

最佳答案

您不能将同一个 View Controller 实例放入两个选项卡 Controller 中。问题是一个 View (UIView)实例只能有一个父 View (superview)。当您尝试将 View Controller 添加到第二个选项卡时, View Controller 的 View 将从其第一个父项(第一个选项卡)中删除,然后添加到第二个选项卡。

关于ios - 两个 UITabBarControllers 共享一个 ViewController(作为选项卡内容)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15177260/

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