Добавление вертикальной прокрутки для IKImageBrowserView, который создается программно - PullRequest
1 голос
/ 25 марта 2011

Я хотел бы создать библиотеку какао Test.dylib, которая обеспечивает представление значков с помощью IKImageBrowserView. Я не могу создать IKImageBrowserView в nib, так как dylib не поддерживает ресурсы. Итак, я создаю 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];

Как мне это решить? Заранее спасибо.

С уважением, Deepa

1 Ответ

2 голосов
/ 17 апреля 2011

Вы на правильном пути, пытаясь разместить IKImageBrowserView внутри NSScrollView.Однако вместо использования addSubview (унаследованного от NSView) используйте setDocumentView…

NSScrollView *scroller = [[NSScrollView alloc]initWithFrame:[self bounds]];
[scroller setDocumentView:browser];
[scroller setHasVerticalScroller:YES];

Руководство по программированию Scroll View содержит полезную информацию…

Экземпляры NSScrollView предоставляют услуги прокрутки к представлению своего документа.Это единственное представление, которое приложение должно предоставлять в виде прокрутки.Представление документа отвечает за создание и управление контентом, прокручиваемым представлением прокрутки.

...