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

Я хотел бы создать библиотеку какао 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];

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

С уважением, Дипа

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам