I have a reasonably complex hierarchy of UIImageView
s. Originally, I was carefully swapping the sibling order when one UIImageView
moved in front of another. Then I found out about myUIImageView.layer.zPosition
and switched to using this instead. Worked out much simpler. It even works almost all the time. I found out from this SO question that zPosition
only works amongst sibling layers. Great! So I have two questions really: Is there any actual documentation about this? and, is there some kind of fudge I can use to get this to work? (like adding all my UIImageViews to a UIView that is never visible). Thx in advance.
From the title of your question, I wonder if you understand that the zPosition
property works with sibling layers, not sibling views. To deal with the depth of every image you have with the zPosition
property, you will need to have all the images as sibling layers within one single UIView object. The zPosition
property is documented in Apple's Core Animation Programming Guide:
The zPosition property specifies the z-axis component of the layer's position. The zPosition is intended to be used to set the visual position of the layer relative to its sibling layers. It should not be used to specify the order of layer siblings, instead reorder the layer in the sublayer array.