In IB, select the matrix. Use the Layout->Make Subviews Of->Custom View menu.
That is what I have done (well, sub-view of NSScrollView which I need). The x,y setting in IB for my matrix is disabled for entry, it displays values but I cannot change them. I did setBoundsOrigin: on the matrix and it has no effect. —- You need the extra layer provided by the NSView that acts a super view for your matrix. If you embed the matrix as the document view of the scroll view, the intermediate clip view will keep the matrix origin aligned with the clip view’s origin when fully scrolled so the origin is visible. That is what clip view does. That is part of its purpose. Otherwise, scrolling would not work correctly. You will notice a similar effect with NSBox. It too controls the frame of embedded views.
You need an extra NSView above your matrix in the hierarchy so that the clip view can control the extra view’s frame thus letting you manipulate the matrix frame.
Thanks a million, that led me in the right direction.