我创建了一个UICollectionView,并希望所有单元格都像iPhone上的跳板的编辑模式一样摇动。我已经创建了我的摇动代码,但是不知道如何实现它。我有自定义单元,所以我假设它会放在那里,但不知道它是如何实现的。谢谢你。
#define degreesToRadians(x) (M_PI * (x) / 180.0)
#define kAnimationRotateDeg 0.5
#define kAnimationTranslateX 1.0
#define kAnimationTranslateY 1.0
//startJiggling
int count = 1;
CGAffineTransform leftWobble = CGAffineTransformMakeRotation(degreesToRadians( kAnimationRotateDeg * (count%2 ? +1 : -1 ) ));
CGAffineTransform rightWobble = CGAffineTransformMakeRotation(degreesToRadians( kAnimationRotateDeg * (count%2 ? -1 : +1 ) ));
CGAffineTransform moveTransform = CGAffineTransformTranslate(rightWobble, -kAnimationTranslateX, -kAnimationTranslateY);
CGAffineTransform conCatTransform = CGAffineTransformConcat(rightWobble, moveTransform);
self.transform = leftWobble; // starting point
[UIView animateWithDuration:0.1
delay:(count * 0.08)
options:UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse
animations:^{ self.transform = conCatTransform; }
completion:nil];
最佳答案
如果将代码放在自定义单元格中称为startJiggling
的方法中,则可以在 Controller 中调用此方法:[self.collectionView.visibleCells makeObjectsPerformSelector:@selector(startJiggling)];
这样可以确保所有可见的单元格都将开始抖动。
然后,我还要设置一些标志,指示您的单元格应该在collectionView:cellForItemAtIndexPath:
中进行微调并对其进行测试。如果是,则调用您的方法。
关于iphone - UICollectionViewCell摇动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14025600/