Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Xcode 在IB中添加自定义子视图_Xcode_Cocoa_Interface Builder - Fatal编程技术网

Xcode 在IB中添加自定义子视图

Xcode 在IB中添加自定义子视图,xcode,cocoa,interface-builder,Xcode,Cocoa,Interface Builder,我有两个nib文件:主应用程序窗口和我想在其中使用的一个小视图。如何使用interface builder将此视图的实例插入主窗口?您不能。如果您希望在主应用程序窗口中显示一个小视图,只需将自定义视图对象拖动到主nib中的窗口上即可 您可以将第二个nib视图添加到主窗口,但这必须在代码中完成。通常的方法是向您的项目中添加一个新文件,它是NSViewController的子类——您将得到一个新的具有视图的xib文件。然后,您可以使用initWithNibName:bundle:来创建视图控制器的实

我有两个nib文件:主应用程序窗口和我想在其中使用的一个小视图。如何使用interface builder将此视图的实例插入主窗口?

您不能。如果您希望在主应用程序窗口中显示一个小视图,只需将自定义视图对象拖动到主nib中的窗口上即可


您可以将第二个nib视图添加到主窗口,但这必须在代码中完成。通常的方法是向您的项目中添加一个新文件,它是NSViewController的子类——您将得到一个新的具有视图的xib文件。然后,您可以使用initWithNibName:bundle:来创建视图控制器的实例,并将其视图添加到主窗口的contentView中

但是如何从我首先创建的视图创建自定义视图对象呢?我不确定我是否理解这个问题。拖出自定义视图时,该视图是视图对象。通常,您会创建NSView的子类,并将该自定义视图的类设置为您的类。你可以向视图中添加任何你想要的UI元素,并将它们连接到你的子类中。我认为在你回答的第一段中的“自定义对象”是指存储在库的“自定义对象”分区中的对象(默认为空),我不知道怎么把东西放在那里,我没有看到任何自定义对象部分。你是在iOS还是OSX?抱歉,我找到了它--不,它不在那里,它在常规对象列表中也许我的原始答案不清楚--我的意思是你可以将一个自定义视图拖到主窗口中并创建一个NSView子类,或者,你可以添加一个视图控制器子类,并在新的xib文件中为你创建的视图中添加任何你想要的内容。你似乎在混合这两种方法。我通过添加视图控制器类,并向它提供的视图中添加一些东西来实现这一点。然后使用self.window.contentView addSubview:vc.view执行alloc initWithNibName:bundle,并将其添加到窗口中