Я использую IKImageBrowserView
для отображения сетки изображений. У меня нет кода, который программно устанавливает точки, смещает или прокручивает что-либо. У меня просто есть код, который перечисляет содержимое каталога, полного изображений, и отображает их в браузере изображений.
При запуске приложения прокручиваемый вид прокручивается до нижней части сетки изображений, ничем не спровоцированный. В течение нескольких секунд после этого, если вы попытаетесь прокрутить вверх с помощью мыши, скроллер выйдет из строя и все еще попытается прокрутить вниз. После этого проблема прекращается, и пользователь может нормально прокручивать.
До El Capitan автопрокрутки не было.
Опять же, нет кода, который прокручивает NSSrcollView
или устанавливает contentOffset
или scrollToRect
, scrollToVisibleRect
.
С учетом сказанного я безуспешно пытался установить эти значения после загрузки изображений.
Вопрос 1. Кто-нибудь сталкивался с этим при использовании NSScrollView
или IKImageBrowserView
в El Capitan (или, возможно, в любой версии Mac OS)?
Вопрос 2. Есть ли способ отладить, почему это происходит, или как заставить это автоматически останавливать прокрутку?
Решение
Это решение сработало для меня. Не забудьте правильно подключить розетки.
.h
@interface WCSScrollView : NSScrollView
@end
.m
@class IKImageBrowserView;
@interface WCSScrollView ()
@property (strong) IBOutlet NSClipView * scrollerClipView;
@property (strong) IBOutlet IKImageBrowserView * imageBrowser;
@end
@implementation WCSScrollView
- (void)drawRect:(NSRect)dirtyRect {
[super drawRect:dirtyRect];
}
- (void)resizeSubviewsWithOldSize:(NSSize)oldSize {
NSClipView * clip = self.subviews[0];
self.imageBrowser = (IKImageBrowserView*)clip.subviews[0];
}
@end
NSScrollView
. Я обновил вопрос своим решением. - person WrightsCS   schedule 17.10.2016