 <p>As explained on the NSView reference page, the z-order of a view's subview is given by their oder in the view's <code>subviews</code> array. You can insert a new subview relative to the others using <code>-addSubview:positioned:relativeTo:</code>, and you can reorder the existing subviews by getting the <code>subviews</code> property, reordering the views therein as you like, and then calling <code>-setSubviews:</code> to set the new order.</p> <p>Specifically, the docs say:</p> <blockquote> <p>The order of the subviews may be considered as being back-to-front, but this does not imply invalidation and drawing behavior.</p> </blockquote>