
正文
UICollectionViewCell点击高亮效果(附带效果GIF)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
首先效果如下:

背景是这样的:UI上使用的是UICollectionView,所以后面会使用它的协议方法完成。
实现思路是这样的:高亮状态+点击后短时间内保持颜色变化
实现的代码参考如下:
// Cell被点击后短时间内保持颜色的变化
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
WSFEvaluateTagItem *cell = (WSFEvaluateTagItem *)[collectionView cellForItemAtIndexPath:indexPath];
cell.backgroundColor = [UIColor blueColor];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(),
^{
cell.backgroundColor = [UIColor whiteColor];
});
}// 长按的情况下要实现高亮状态下的颜色保持
- (void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath{ WSFEvaluateTagItem *cell = (WSFEvaluateTagItem *)[collectionView cellForItemAtIndexPath:indexPath];
cell.backgroundColor = [UIColor blueColor];
}
- (void)collectionView:(UICollectionView *)collectionView didUnhighlightItemAtIndexPath:(NSIndexPath
*)indexPath{ WSFEvaluateTagItem *cell = (WSFEvaluateTagItem *)[collectionView cellForItemAtIndexPath:indexPath];
cell.backgroundColor = [UIColor whiteColor];
}
- (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath
*)indexPath{ return YES;
}







