Итак, я довольно новичок в AppKit и Cocoa (от UIKit с CocoaTouch), и в настоящее время я реализую интерфейс для сбрасывания NSWindow. На iOS это было бы довольно легко, но, видя, как много разных отличий от OS X, я хочу спросить.«Сгиб» NSWindow с использованием CoreAnimation
Как бы вы реализовали следующий переход?
Примечание: Нижняя полоса является частью моей contentView, а не нижнюю панель OS X обеспечивает. То есть мое окно (INAppStoreWindow кстати) состоит из titleBar и contentView.
Я думаю, что я мог бы просто свернуть содержимоеViewView и изменить размер окна синхронно, но было бы предпочтительнее, если бы я смог сохранить прозрачность во время складывания, что происходит из-за перспективы трансфокации. То есть стороны, которые изогнуты внутрь, должны (во время перехода) быть прозрачными. Или я переусердствую это?
Да мой взгляд содержания основан CoreAnimation, и я знаю, что западня. Проблема с NSBorderlessWindowMask заключается в том, что если я установил цвет фона для clearColor, система сделает тень окна. Конечно, я мог бы просто пойти дальше и сделать свой собственный, но это было бы похоже на то, чтобы полностью рисовать собственное окно. Я бы хотел избежать этого из-за возможного изменения интерфейса в более поздних версиях OS X. – pkluz
Ваша проблема с тенью окна в значительной степени совпадает с вашей проблемой со стандартными элементами управления. AppKit не отображается основной анимацией, поэтому все, что он делает, не может использовать базовую анимацию. Вы обойдетесь без него или переопределите его самостоятельно. Я знаю, это отстой. Я предполагаю, что это всего лишь часть багажа, который работает с более старыми api ... –