Ich versuche, dies zur Zeit zu replizieren:Replication Googles Suche iOS Karten-Animation
Wenn Sie mit Google-App vertraut sind, es sieht aus wie ein UICollectionView mit einem benutzerdefinierten Flow Layout.
Ich erweitere eine Frage, die mit etwas zusätzlichem Code geschlossen wurde.
Here's the link to the other question.
In der benutzerdefinierten Strömungs Layout-Klasse, kann ich einen „gestapelt“ Effekt erzeugen, indem einen negativen minimalen Linienabstandswert einstellen, und mit dem folgenden:
- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
{
NSArray *allAttributesInRect = [super layoutAttributesForElementsInRect:rect];
CGPoint centerPoint = CGPointMake(CGRectGetMidX(self.collectionView.bounds), CGRectGetMidY(self.collectionView.bounds));
for (UICollectionViewLayoutAttributes *cellAttributes in allAttributesInRect)
{
if (CGRectContainsPoint(cellAttributes.frame, centerPoint))
{
cellAttributes.transform = CGAffineTransformIdentity;
cellAttributes.zIndex = 1.0;
}
else
{
cellAttributes.transform = CGAffineTransformMakeScale(0.75, 0.75);
}
}
return allAttributesInRect;
}
das streich Animationen löschen funktionieren gut, aber ich habe Probleme, den "gestapelten" Look zu erstellen und dann nur eine Zelle in die Ansicht zu ziehen, während die restlichen Karten wie oben abgebildet gestapelt bleiben.
hey. Ich versuche, den gleichen Effekt zu reproduzieren, allerdings mit wenig Erfolg. Ich brauche die Karten, um Teil einer UICollectionView/UITableView zu sein, so dass der Benutzer mehr scrollen kann als nur einige Karten wie Google hat. Aber ich kann Ihnen versichern, dass die Art und Weise, wie Google diese App erstellt hat, nicht mit einer Sammelansicht übereinstimmt. Ich habe die App in Reveal überprüft und sie haben die Animation im Grunde nur mit Ansichten gemacht. trotzdem brauche ich eine collectionview und die einzige Art, wie ich es sehen kann, ist mit zwei Layouts, dass Sie den Übergang zwischen animieren können. es dauert viel mehr Zeit aber – alex
Ein Video oder GIF des Effekts, den Sie suchen, würde Ihnen helfen, eine Antwort zu bekommen. – Segev