跨多个nsviewcontroller和xib拆分NSTabView



我刚刚进入桌面Cocoa开发(我有iOS开发经验)。如果这个问题看起来很基础,请原谅我。

话虽这么说,我正在处理一个有很多计算和功能要处理的大型程序。几乎有十几个视图,用NSTabView组织。而不是将所有内容转储到一个类的怪物中,并创建一个XIB文件,这将使我的系统陷入瘫痪(Xcode显然不是那么高效……谁知道呢?: P)。我想为每个标签是它自己的NSViewController伴随XIB;因此,我想从相应的XIB加载每个选项卡的视图。

我在UITabBarController方面考虑这个,但这似乎不起作用(据我所知,没有NSTabViewController)。我不确定如何做到这一点(或者即使它是可能的——但我不可能是唯一一个有这个问题的人?),我将感谢任何帮助。谢谢!

Update:我尝试将控制器的视图分配给选项卡的视图,但很快意识到这不会让我任何地方。是否值得从头开始创建一个NSTabViewController,或者是否有解决方案?

桌面Cocoa开发与iOS开发有一些主要区别。其中之一是视图控制器的使用-它们不是严格必需的-当你使用它们时,你可以坚持一个通用的NSViewController不管它包含什么样的视图。控制选项卡视图所需的所有方法都在NSTabView类中,而不是在控制器中。

话虽如此,在tabview中放入12个视图听起来是一种与程序交互的痛苦方式。您是否考虑过源-细节类型的设置(想想itunes或邮件的侧边栏——侧边栏中的每个条目对应一个不同的视图)?

我抛弃了标签栏,按照sosborn的建议,我使用了分屏视图——或者更确切地说,我把一个表视图放在一边,而一个自定义视图占据了大部分屏幕。然后,在我的AppDelegate中,我有单独的控制器作为ivars(我需要单独的控制器,因为有很多计算涉及,我不想有一个怪物类来处理它们)。它们会被惰性加载,视图会在必要时分配给当前控制器的视图。

最新更新