NSOpenGLView
на самом деле не рисует в окне, он рисует на поверхности, которая выше или ниже окна, по умолчанию выше.Если вы хотите элемент управления перед поверхностью OpenGL, вы должны сделать поверхность под окном, используя параметр NSOpenGLContext
NSOpenGLCPSurfaceOrder
.Но затем вы должны вырезать прозрачный прямоугольник в окне, чтобы увидеть поверхность OpenGL.
Редактировать, чтобы добавить: Альтернативно, вы можете создать прозрачное наложение или дочернее окно, которое находится над поверхностью OpenGL, а такжеглавное окно, и поместите управление туда.Не уверен, какой путь будет проще.