作者:我叫巴吉度 | 来源:互联网 | 2023-09-12 19:36
首先效果如下:背景是这样的:UI上使用的是UICollectionView,所以后面会使用它的协议方法完成。实现思路是这样的:高亮状态+点击后短时间内保持颜色变化实现的代码参考如下:
首先效果如下:
背景是这样的: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;
}