Objective c 如何使视图与包含与父模型类对应的视图元素的模型子类相对应?

Objective c 如何使视图与包含与父模型类对应的视图元素的模型子类相对应?,objective-c,cocoa,interface-builder,Objective C,Cocoa,Interface Builder,我有一些UI元素,它们将与其他UI元素共享公共部分。它们对应于继承层次结构中的模型对象 例如,假设所有层都可以切换开/关。所有WaveLayer都是另外定义.wav文件名的层。WaveLayer有一个具体的子类叫做GroovyLayer,它需要额外的参数 从视觉上看,我希望有一个长面板,其中顶部部分包含常规层UI,下一部分包含特定于WaveLayer的UI,最后一部分包含特定于GroovyLayer的UI。可能有10个左右的混凝土子类,每个子类共享对应于层和波层的相同顶部 我应该如何在Inter

我有一些UI元素,它们将与其他UI元素共享公共部分。它们对应于继承层次结构中的模型对象

例如,假设所有层都可以切换开/关。所有WaveLayer都是另外定义.wav文件名的层。WaveLayer有一个具体的子类叫做GroovyLayer,它需要额外的参数

从视觉上看,我希望有一个长面板,其中顶部部分包含常规层UI,下一部分包含特定于WaveLayer的UI,最后一部分包含特定于GroovyLayer的UI。可能有10个左右的混凝土子类,每个子类共享对应于层和波层的相同顶部

我应该如何在InterfaceBuilder中设置它?我是从顶部开始(用占位符表示子类的内容)还是从底部开始(用占位符表示父类的内容)?我应该如何在InterfaceBuilder中设置这些占位符,并在正确的时间在正确的NSView中进行替换


我在IB中使用一个空白的“自定义视图”并将其绑定到我的控制器类中的一个插座,然后用另一个在另一个NIB中从别处绑定到我的控制器的另一个视图替换该视图,这似乎是不合法的,因为我的控制器同时携带“旧视图”和“新视图”成员…

按照您的意愿布置视图。然后选择表示子类的自定义视图,并在inspector中设置其类名

至于是否从单独的xib文件加载视图,我认为这太过分了。根据您的描述,这些视图总是同时可见的,因此从单个文件加载它们只会增加复杂性


您似乎缺少的技巧是将自定义视图的类名设置为子类的类名

那么,我的子类中的自定义视图不应该在单独的nib中吗?它还来自哪里?您必须提供更多关于如何设置项目的XIB的信息,以便就如何最好地将它们分开提供建议。但是,您的自定义视图不必像其父视图(superview)那样位于单独的xib中。我将有许多不同的类,比如10个,我不希望它们都位于同一个NIB中,我更希望它们位于单独的NIB中。但我希望所有10种类型的对象都共享一些常见的UI元素,我不想将它们复制/粘贴到每个UI元素中。很抱歉,现在的主题看起来与主题不匹配(问题)。你可能需要重申你的目标或将问题分开。从我的观点来看,这是同一个问题。。。我想这还不完整。在问题中添加了一些信息。