在Xcode OS X应用程序中交换xib中的项目

时间:2014-03-22 16:56:59

标签: objective-c xcode macos nstableview

我是.xib的新手,因为我在开发iOS应用时总是使用故事板。现在我想品尝一下OS X,但我想出了这个问题。 enter image description here 让我说我在我的xib文件中有这个视图,现在我怎样才能显示不同的视图"在右侧取决于TableView cells的选择?我想要实现的不是一个总是相同的视图,其中填充了不同的数据(Cellular Contacts app等),我希望显示完全不同的视图。 在iOS中,我会使用类似SplitViewController的设置Master-Detail依赖关系并执行不同的segue,但是在这里?我应该创建其他.xib文件并根据选择加载它们吗?我将如何实现这一目标?

提前致谢!

1 个答案:

答案 0 :(得分:0)

iOS上有很多类没有OS X等价物,甚至OS X上还有更多没有iOS等价物的类。在这种情况下,你必须自己写下很多东西。

在我的应用程序(https://github.com/abhibeckert/Dux)中,我有一个拆分视图,右侧有一个空的自定义视图。

当我更改视图时,我创建了一个新视图(执行此操作的方法很多,您可以为每种视图类型设置一个Xib。我不会在我的视图中执行此操作),然后从自定义视图中删除所有子视图,添加新的子视图。

我在表格视图中为每个设置了不同的视图,即使它们通常是相同类型的详细视图。这样,如果您返回之前使用的行,则会保留滚动位置/等。

我也在使用NDocument,这使我的代码非常复杂 - 因为它根本不是设计用于主细节界面。你可能想避免这种情况。

NSDocument具有您可能需要的一些功能。例如,它为每个文档都有一个单独的撤消堆栈。你很容易实现它。