Этот кадр рисуется видом кадра ящика. Для этого вам нужно использовать некоторые закрытые методы, и, возможно, самый простой способ - использовать пользовательский подкласс NSDrawer. Я не знаю конкретных методов, используемых для ящиков, но вы можете получить заголовок для класса, включая частные методы, используя class-dump .
Редактировать: Это то, что на самом деле делает NSDrawer.
NSDrawer - это непрозрачный объект, который управляет другими объектами. Он создает окно, используя закрытый класс NSDrawerWindow. Настройка его представления содержимого устанавливает представление содержимого окна. Класс NSDrawerWindow использует частный класс NSDrawerFrame, который является подклассом частного класса NSFrameView, в качестве фона и отображает представление содержимого внутри него.
Чтобы изменить фрейм, вам нужен способ изменить вид фрейма в окне. Проще всего было бы получить заголовок для NSDrawerWindow и добавить категорию, которая переопределяет +frameViewClassForStyleMask:
, чтобы вернуть класс для вашего пользовательского представления. Ваше пользовательское представление должно быть подклассом NSFrameView, что означает, что вам также нужен заголовок для этого класса.