objective-c – 在NSView – Cocoa中以编程方式创建NSScrollView

前端之家收集整理的这篇文章主要介绍了objective-c – 在NSView – Cocoa中以编程方式创建NSScrollView前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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搜索标题找到它.

猜你在找的C&C++相关文章