Work with third-party IKImageBrowserView, Z-orders and other problems

I am working on a project that should:

  • have an animation transition from a view containing IKImageBrowserView, to another view;
  • overlays each IKImageBrowserCell when the mouse moves around the view; and
  • so that NSView overlaps part of the image browser view

I am having the following issues:

  • IKImageBrowserView does not respect z-order if it is not supported at the layer level -> IKImageBrowserView remains at the top, even if the view is from above (or in this case)
  • If image browsing is supported on a layer-by-layer basis, the z-order issue will be resolved, but user behavior in IKImageBrowserView breaks (for example, freezes) → In Mac 10.7, for example, the selection layer and the foreground layer the browser cell does not move with the image in the " bounce 'scroll.

I need layer support for transition animations.

For performance reasons, I know that Apple does not recommend matching siblings. There are examples, although this cannot be avoided.

I reported this to Apple in connection with technical support. They transferred it to the engineers, but they also advised me to submit a bug report.

Has anyone come across this before, and if so, what workaround did you use?


For anyone interested, a sample project is here https://github.com/jdbenito/nerdery . In the application delegate, try to comment / uncomment the -setWantsLayer: line.

IKImageBrowserView begins to exhibit strange behavior when it is supported based on layers. And the symptoms vary depending on the OS (for example, on Mac OS 10.6, freezes work until you switch to another tab and go back to IKImageBrowserView. On Mac OS 10.8, guidance layers cannot be displayed in the correct cell).

+6
source share
1 answer

The NSView brothers are definitely allowed to overlap. Some time ago, I had the same question, and I received confirmation from some Apple engineers: Are duplicate layers based on NSView allowed?

About IKImageBrowserView: I get the impression that it is more or less intended to be used as a black box, like a UITableView on iOS: you can customize cells and some types of behavior, but it is better not to mess with its internal hierarchy of views, adding subviews directly to him. If you need anything other than standard documented behavior, you might be better off writing your own solution. This should not be extremely difficult to do, especially because you have access to Image I / O for all your thumbnails and preliminary needs: https://developer.apple.com/library/mac/documentation/graphicsimaging/Conceptual/ImageIOGuide /imageio_source/ikpg_source.html#//apple_ref/doc/uid/TP40005462-CH218-SW3

Hope this helps!

0
source

All Articles