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; }
复制代码

 

posted @   码出境界  阅读(2110)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示