我有一个NSView类,它负责在nib文件中创建的自定义视图.
现在我想将NSScrollView添加到自定义视图中,但我需要以编程方式进行,而不是使用Interface Builder(嵌入滚动视图).
我找到了这段代码:
@H_301_6@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的所有者.
@H_301_6@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搜索其标题找到它.