为以编程方式创建的IKImageBrowserView添加垂直滚动

时间:2011-03-25 03:44:55

标签: cocoa macos ikimagebrowserview vertical-scrolling

我想创建一个Cocoa库Test.dylib,它使用IKImageBrowserView提供Icon视图。我无法在nib中创建IKImageBrowserView,因为dylib不支持Resources。所以,我正在以编程方式创建IKImageBrowserView,如下所示:

IKImageBrowserView *browser = [[IKImageBrowserView alloc]initWithFrame:[self bounds]];
Datasource *ds = [[dataSource alloc]init];
[browser setDataSource:ds];
[browser setDelegate:ds];

但是,当有多个项目而不是可见区域时,应显示未发生的垂直滚动条。

如何支持以编程方式创建的IKImageBrowserView的滚动?

我尝试过以下操作但没有取得任何积极成果:

NSScrollView *scroller = [[NSScrollView alloc]initWithFrame:[self bounds]];
[scroller addSubview:browser];

我该如何解决这个问题?提前谢谢。

此致 迪帕

1 个答案:

答案 0 :(得分:2)

尝试将IKImageBrowserView放置在NSScrollView中时,您处于正确的轨道上。但是,使用setDocumentView ...

而不是使用addSubview(继承自NSView)
NSScrollView *scroller = [[NSScrollView alloc]initWithFrame:[self bounds]];
[scroller setDocumentView:browser];
[scroller setHasVerticalScroller:YES];

Scroll View Programming Guide有一些很好的信息......

  

NSScrollView实例提供   将服务滚动到其文档   视图。这是唯一一个观点   应用程序必须提供滚动   视图。文档视图负责   用于创建和管理内容   滚动视图滚动。