Frage

Ich bin verwirrend CGLayer und CALayer. Sie sehen ähnlich aus, also warum gibt es unterschiedliche Implementierungen? Was ist der Unterschied zwischen und Kompatibilität, CGLayer und CALayer?

War es hilfreich?

Lösung

Sie sind völlig unterschiedlich und nicht kompatibel ist.

Um absolut klar:

ist streng Zufall , dass das Wort "Schicht" ist in beiden Namen verwendet ; sie sind völlig unabhängig .

CGLayers sind ein "besonderer" "High Performance" Dingen.

Sie könnten sie betrachten "wie Bitmaps, aber besser."

Apple-setzte sich und sagte: „Wir sind krank von Menschen mit Bitmaps, lassen Sie uns etwas besser zu machen!“ : -)

Ja, Sie arbeiten nur mit CGLayers Offscreen .

Zur Wiederholung werden CGLayers vollständig verwendet Offscreen.

Sobald sie fertig sind, können Sie sie dann sprengen auf Ihren tatsächlichen Bildschirm (das heißt: Explosion sie auf einem Ihrer Ansichten).

( Doch : beachten Sie, dass: CGLayers häufig verwendet „alone“ Wenn ich sage, sie verwendet werden „allein“, meine ich, sie werden verwendet für:. Bildverarbeitung oder mathematische Berechnungen In diesem Fall , CGLayers sind nie am Bildschirm zu sehen ist, und sie haben absolut keine Verbindung zum Bildschirm Welt.)

Im Gegensatz ... CALayers sind einfach die Dinge "in" Ansichten. CALayers ist, wie Ansichten zu arbeiten.

So sind die beiden Konzepte sind völlig anders.

CALayers sind nur die Dinge "in" Ansichten. Im Gegensatz CGLayers sind Apples cool "Off-Screen, hohe Leistung, Berechnung Maschinen."

Um es klar, CGLayers hat absolut keine Verbindung zum Sichten und keinen Zusammenhang mit Aussicht. (Natürlich könnten Sie eine CGLayer Paste in einer Ansicht, aber dann können Sie fügen Sie ihn sagen: „Typografie“ oder „ein Bild“ in einer Ansicht. Typografie und Bilder sind nicht Ansichten und CGLayers sind nicht Blick.)

Das typische Beispiel ist dies:

Sie wollen einmal etwas kompliziert zu ziehen, und ziehen dann das Ding oft auf dem Bildschirm. Die Antwort auf dieses Problem ist genau CGLayers. Ihr „Arbeitsbereich“ wäre ein CGLayer; Sie könnte es dann zu einem Drucker blitten, auf dem Bildschirm, oder was auch immer.

Um klar zu sein, meiner Meinung nach sollte Apple einen anderen Namen gewählt hat, ...

ein guter Name wäre "CGCalculationSpace."

Die Tatsache, dass der Name enthält das Wort „Schicht“, macht Dich von NSlayers denken.

Um es zu wiederholen: Es gibt absolut keine Beziehung, was auch immer, in keiner Weise. CGLayers sind nicht einmal vage Schichten zusammen.

Es gibt keine Verbindung, überhaupt nicht. Es ist wirklich verwirrend, dass die Buchstaben „l a y e r“ werden im Namen verwendet - es ist eine Schande !!

CGLayers sollte vielleicht heißen „Workspaces“ oder „Berechnung Paradigmen“ oder so ähnlich.

Hope hilft es und hoffen, dass Sie lesen noch!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top