Приложение для Mac OSX - Как создать окно стыковки?

Я создаю приложение для Mac OSX в Objective C, и мне интересно, есть ли встроенная поддержка поведения «стыковки». Под этим я подразумеваю наличие главного окна с «слотами» с другими окнами, которые могут либо свободно плавать, либо защелкиваться в одном из слотов главного окна. Пользователь сможет щелкать и перетаскивать окна, перемещать их и «закреплять» там, где они хотят. Примером среды с такой поддержкой является QT, но я бы предпочел использовать Cocoa, чем QT.

Пока мне не удалось найти ничего по теме.


person Sunny724    schedule 18.01.2017    source источник
comment
Вы начали создавать подклассы NSWindow и родственные классы и немного ковырялись? Я думаю, вы сможете перезаписать события перетаскивания и при желании привязать окна оттуда ...   -  person Julian F. Weinert    schedule 19.01.2017


Ответы (1)


Раньше существовал стандартный класс, который позволял реализовать только что упомянутую функцию (называемый оконным ящиком). Я действительно считаю, что они устарели, поэтому вы не сможете использовать его из-за плохого дизайна. Если вы считаете, что оно действительно соответствует вашим потребностям, вы можете создать другое окно (без границ и панели инструментов), которое выдвигается со стороны главного окна и перемещается по мере перетаскивания главного окна.

person TheAmateurProgrammer    schedule 18.01.2017
comment
Согласованный. Но также сказал бы, что Apple отказалась от этого по причине, и это идет вразрез с передовой практикой и рекомендациями Apple по дизайну. - person d00dle; 18.01.2017