我有一个NSView类,它负责在nib文件中创建的自定义视图.
现在我想将NSScrollView添加到自定义视图中,但我需要以编程方式进行,而不是使用Interface Builder(嵌入滚动视图).
我找到了这段代码:
NSView *windowContentView = [mainWindow contentView]; NSRect windowContentBounds = [windowContentView bounds]; scrollView = [[NSScrollView alloc] init]; [scrollView setBorderType:NSNoBorder]; [scrollView setHasVerticalScroller:YES]; [scrollView setBounds: windowContentBounds]; [windowContentView addSubview:scrollView];
假设我将上面的变量’mainWindow’和’scrollView’声明为IBOutlets,我将如何将它们连接到Interface Builder中的适当组件?这样做是否有意义?
谢谢!
附:我无法以通常的方式连接它们,因为我无法从Interface Builder创建NSObject对象,或者使用文件所有者.
解决方法
此代码片段应演示如何以编程方式创建NSScrollView并使用它来显示任何视图,无论是来自nib还是来自代码.对于nib生成的视图,您只需要先将nib文件加载到自定义视图中,然后将自定义视图(outletToCustomViewLoadedFromNib)的插座添加到File的所有者.
NSScrollView *scrollView = [[NSScrollView alloc] initWithFrame:[[mainWindow contentView] frame]]; // configure the scroll view [scrollView setBorderType:NSNoBorder]; [scrollView setHasVerticalScroller:YES]; // embed your custom view in the scroll view [scrollView setDocumentView:outletToCustomViewLoadedFromNib]; // set the scroll view as the content view of your window [mainWindow setContentView:scrollView];
Apple有一个关于这个主题的指南,我不会链接到它,因为它需要Apple Developer Connection访问并且它们的链接经常断开.它的标题是“创建和配置滚动视图”,目前可以通过使用Google搜索其标题找到它.