Tôi muốn bắt đầu một số hoạt ảnh trên UICollectionViewCell
khi người dùng chạm vào một ô. Ý tưởng của tôi là chọn ô tương ứng trong didSelectItemAtIndexPath
và kích hoạt hoạt ảnh. Tuy nhiên, điều này không hoạt động:Tạo hiệu ứng UICollectionViewCell trên Tap
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
// animate the cell user tapped on
ProductCollectionViewCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ProductReuseID" forIndexPath:indexPath];
[UIView animateWithDuration:5.0
delay:0
options:(UIViewAnimationOptionAllowUserInteraction)
animations:^{
NSLog(@"animation start");
[cell.layer setBackgroundColor:[UIColor colorWithRed: 180.0/255.0 green: 238.0/255.0 blue:180.0/255.0 alpha: 1.0].CGColor];
}
completion:^(BOOL finished){
NSLog(@"animation end");
[cell.layer setBackgroundColor:[UIColor whiteColor].CGColor];
}
];
}
Thực tế, hoạt ảnh bắt đầu và kết thúc cùng lúc (mặc dù animateWithDuration
được đặt thành 5). nỗ lực tiếp theo là để bỏ qua các hình ảnh động và chỉ cần đặt ví dụ một phong cách biên giới khác nhau: (? có lẽ vì tôi phải vẽ lại các tế bào bằng tay)
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
// animate the cell user tapped on
ProductCollectionViewCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ProductReuseID" forIndexPath:indexPath];
[cell.layer setBorderWidth:5.0f];
}
Tuy nhiên, điều này không thay đổi bất cứ điều gì.
Bạn có ý tưởng nào về cách tạo hoạt ảnh cho UICollectionViewCell khi người dùng nhấn vào nó không?
Trân trọng! Christian
Cảm ơn rất nhiều! Điều đó giải quyết được vấn đề ... – itsame69
OMG, thx cho việc này. – sabiland