у меня есть двухпанельное NSSplitView , одно его подпредставление - IKImageBrowserView .мне нужно захватить его растровое изображение, чтобы заменить его перед анимацией NSSplitView с помощью CATransition .
с использованием cacheDisplayInRect
не захватывает содержимое IKImageBrowserView , нодействительно захватывает содержимое другой панели.Я думаю, что это, скорее всего, связано с тем, что IKImageBrowserView имеет свое собственное дерево слоев.
Может кто-нибудь подтвердить, что это правда?
NSBitmapImageRep *imageRep = [self.imagesSplitView bitmapImageRepForCachingDisplayInRect:visibleRect];
[self.imagesSplitView cacheDisplayInRect:visibleRect toBitmapImageRep:rep];
NSImage *tempImage = [[NSImage alloc] initWithCGImage:[imageRep CGImage] size:visibleRect.size];
[self.tempView setImage:tempImage];
[self.holdingView replaceSubview:self.imagesSplitView with:self.tempView];
есть лиЛюбое предложение о том, как я могу получить растровую копию содержимого представления?
renderInContext
не поможет мне, я не думаю, потому что IKImageBrowserView не раскрывает методы дляссылка на его presentationLayer - если он вообще есть.
я думаю ImageKit - это комбинация CALayers / CAOpenGLLayers и alchemy .
спасибо.