From your code I'm guessing your problem is bounds.
It looks like you have an NSView
which you are moving around the screen - so it's frame is its location in its superview and that is what you are saving in makeStay
.
In your drawRect
you fill the view's bounds - this is in view coordinates. You then try to fill the "stays", these are in superview coordinates but will be treated as view coordinates and are undoubtedly outside of the bounds of the view and so will be clipped.
Try instead having a "board" view filling your window, and your box view as a subview of that. The board view should keep and draw the list of "stays", the "box" view when clicked should add its current frame to the board views list. Those stays will always be in the bounds of the board.
HTH.