Ich versuche NSCollectionView scrollToIndexPaths:scrollPosition:
zu animieren, die gemäß der Dokumentation erreicht werden kann, wenn diese Nachricht an die animator
Proxy-Proxy-Ansicht der Sammlungsansicht gesendet wird. Aber ich kann es nicht zur Arbeit bringen.So animieren Sie scrollToIndexPaths von NSCollectionView: scrollPosition :?
Ich habe ein sehr einfaches Projekt eingerichtet, das nur eine Sammlungsansicht enthält und 1000 100x100 Elemente erstellt. Eine einfache Aktion inkrementiert den sichtbaren Indexpfad um 50 und versucht, zu diesem zu scrollen. Mein Scrollen Code wie folgt aussieht:
- (IBAction)increment:(id)sender {
NSIndexPath *visibleIndexPath = [[self.collectionView indexPathsForVisibleItems] anyObject];
NSIndexPath *toIndexPath = [NSIndexPath indexPathForItem:visibleIndexPath.item + 50 inSection:visibleIndexPath.section];
[self.collectionView.animator scrollToItemsAtIndexPaths:[NSSet setWithObject:toIndexPath] scrollPosition:NSCollectionViewScrollPositionCenteredHorizontally];
}
Dadurch wird die Sammlung im Hinblick auf den Zielindexpfad springt aber animiert nicht. Ich habe dafür gesorgt, dass die Scroll-Ansicht Schicht verstärkt wird, basierend auf einigen der anderen Threads ich dazu gefunden habe:
Der einzige andere Code in das Projekt sind ein paar Zeilen, die einrichten die Sammlung Ansicht und Flow-Layout in viewDidLoad:
:
// Do any additional setup after loading the view.
NSCollectionViewFlowLayout *flowLayout = [[NSCollectionViewFlowLayout alloc] init];
flowLayout.itemSize = CGSizeMake(100.f, 100.f);
flowLayout.scrollDirection = NSCollectionViewScrollDirectionHorizontal;
self.collectionView.collectionViewLayout = flowLayout;
[self.collectionView registerClass:[CollectionViewItem class] forItemWithIdentifier:@"identifier"];
Hat jemand in der Lage gewesen, mit scrollToIndexPaths:scrollPosition:
zu animieren? Die Dokumentation macht es offensichtlich, aber ich kann es nicht zum Laufen bringen.
Perfekt! Das hat den Trick gemacht. Ich denke, ich hätte das herausfinden müssen, wenn ich ein umfassenderes Wissen über Animationen auf OS X hätte, aber ich bin überrascht, dass dies in der Dokumentation nicht erwähnt wurde. – ppilone
Meine Güte, ich bin verrückt nach diesem blöden Thema. Gott sei Dank, dass ich deine Antwort hier gefunden habe! Genial! – JFS