Ich plane eine Ansicht, die mehrere Hunderte von CALayer
Objekte innerhalb und nebeneinander enthalten könnte. Daher muss dies so performant wie möglich sein. Diese Schichten sind nicht sehr komplex. Sie sind undurchsichtig und können Text- oder Formebenen sein. Diese Menge an Schichten muss layouted werden. Ich würde dafür CAConstraints
verwenden.CALayer vs. Layer-backed NSView Leistung
Von Apples Docs:
Wichtig: In OS X v10.8 und später, ist es empfehlenswert, dass Sie Ihre Verwendung von Schicht Hierarchien zu minimieren und verwenden nur Schicht-backed Ansichten. Mit den in dieser Version von OS X eingeführten Layer-Neuzeichnungsrichtlinien können Sie das Verhalten Ihrer Layer-Backed-Ansichten anpassen und trotzdem die Leistung erzielen, die Sie zuvor mit eigenständigen Layern erzielt haben.
Ich weiß, dass CALayer
Objekte sind leichter als Ansichten. Ich bin mir nicht sicher, warum sollten wir Layer-Backed-Ansichten anstelle von Schichten direkt verwenden. Ist es für die Benutzerfreundlichkeit mit Auto Layout oder gibt es mehr Leistung/Speicher Gründe für diese Aussage? Ich möchte die bestmögliche Leistung erzielen, da dieser Code sowohl unter OS X als auch unter iOS ausgeführt wird.
Wohin soll ich gehen? Auto Layout und Layer-Backed NSViews
oder benutzerdefinierte CALayer
Hierarchie?
CAConstraints sind unter iOS nicht verfügbar. Klingt, als würden sie sagen, Layer-Backed-Views seien flexibler, könnten aber die gleiche Performance erzielen. – beyowulf
Ich hätte nach der Verfügbarkeit von CAConstraints gesucht. Danke! – mangerlahn