Ich entwickle eine Art Kartenspiel, bei dem meine Ansichtsobjekte (Karten usw.) alle CALayers sind. Diese Objekte werden als Sublayer eines mainBoard
(ein CALayer) hinzugefügt, der seinerseits eine Unterschicht der [UIView layer]
Eigenschaft meines mainView
ist. Alles ist OK, ich kann Hit-Tests durchführen, um zu überprüfen, welche Schicht normalerweise durch den touchesBegan:withEvent:
Callback der mainView
Klasse berührt wird, und so weiter.UIScrollView in einem CALayer
Ich brauche aber in meinem mainBoard
eine Rolle müssen „größeren“ CALayers zu zeigen, also versuchte ich zuerst Zugabe des „größeren“ CALayer in einem CAScrollLayer
, aber ich bemerkte, dass die CAScrollLayer
nicht wirklich bewegen (doesn‘ t Handle Benutzereingabe, keine Scrollbalken gezeichnet). Die Problemumgehung wäre also, ein UIScrollView direkt zu dem UIView mainView
hinzuzufügen. Die UIScrollView
scrollt perfekt, bis ich versuche, die "größere" Ebene hinzuzufügen, indem ich [scrollView.layer addSublayer:<bigger layer>]
verwende.
Hat jemand eine Vorstellung davon, wie ich "scrollbare" Objekte in einem CALayer haben kann?
Danke!
, was genau beim Hinzufügen von großen Schichten auf die Scroll passiert ?, Außerdem habe ich direkt an scrollView.layer Zugabe Unterschicht denken, ist keine gute Idee, warum man sie nicht auf eine Schicht aus einer Ansicht hinzufügen enthalten bei deinem Scrollview? – nacho4d
Können Sie definieren, was die "größeren" CALayers sind? Kannst du kurz beschreiben, warum die "größeren" Gegenstände CALayers sein müssen? Wenn ich Ihre Frage lese, frage ich mich, warum Sie es nicht einfach halten und nur UIScrollView verwenden - es hat alles, wonach Sie gefragt haben, und das wäre besser, es nicht neu zu implementieren. – Mark
Meine gesamte Anwendung besteht aus CALayers-Objekten, da ich in Core-Animationsebene statt UIKit-Abstraktionsebene arbeite. Das Problem ist, dass die Core Animation keine scrollbare Komponente zur Verfügung stellt, also musste ich eine Umgehung machen, indem ich UIKit Objekte (UIScrollView) und CoreAnimation Objekte (CALayers) mischte und sie nahtlos funktionierte. Dies ist kein Problem, da UIKit nur ein Wrapper für CoreAnimation ist. Vielen Dank –