Also ich bin ziemlich neu in AppKit und Cocoa (kommt von UIKit mit CocoaTouch) und ich implementiere derzeit eine Schnittstelle, um ein NSWindow zu falten. Auf iOS wäre das ziemlich einfach, aber ich sehe, dass es viele kleine Unterschiede zu OS X gibt, die ich stellen möchte."Falten" ein NSWindow mit CoreAnimation
Wie würden Sie den folgenden Übergang implementieren?
Hinweis: Der untere Balken Teil meines content ist und nicht auf die untere Leiste OS X zur Verfügung stellt. I.e. Mein Fenster (übrigens INAppStoreWindow) besteht aus einer titleBar und einer contentView.
Ich denke, ich könnte einfach die contentView falten und die Größe des Fensters synchron ändern, aber es wäre besser, wenn ich die Transparenz beim Falten bewahren könnte, was aufgrund der perspektivischen Transformation passiert. I.e. Die nach innen gebogenen Seiten sollten (während des Übergangs) transparent sein. Oder überschätze ich das?
Ja meine Content-View ist CoreAnimation basiert, und mir ist dieser Fall bekannt. Das Problem mit NSBorderlessWindowMask ist, dass wenn ich die Hintergrundfarbe auf clearColor setze, das System einen Fensterschatten zeichnet. Sicher, ich könnte einfach weitermachen und mein eigenes machen, aber das wäre im Grunde so, als würde ich mein eigenes Fenster komplett zeichnen. Ich möchte das wegen der möglichen Änderung der Schnittstelle in späteren Versionen von OS X vermeiden. – pkluz
Ihr Problem mit dem Fensterschatten ist ziemlich das selbe wie das mit den Standardkontrollen. AppKit wird von der Kernanimation nicht gerendert, daher kann alles, was es darstellt, nicht mit Kernanimation verwendet werden. Sie müssen darauf verzichten oder es selbst neu implementieren. Es ist scheiße, ich weiß. Ich denke, es ist nur ein Teil des Gepäcks, das mit der Arbeit an einer älteren ... –