UICollectionViewCell的按下高亮效果

2016年11月21日 iOS 暂无评论 阅读525次

UICollectionView 中默认没有实现cell点击按下的高亮效果,本文往下是实现UICollectionViewCell按下出现高亮效果的方法



// 1. 定义cell正常的背景颜色和按下后高亮显示的背景颜色
#define CELL_COLOR_NORMAL [UIColor whiteColor]
#define CELL_COLOR_SELECTED [UIColor grayColor]


// 2. 实现UICollectionViewDataSource的方法
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    // cell点击变色
    UIView* selectedBGView = [[UIView alloc] initWithFrame:cell.bounds];
    selectedBGView.backgroundColor = CELL_COLOR_SELECTED;
    cell.selectedBackgroundView = selectedBGView; 
}



// 3. 实现UICollectionViewDelegate的方法
- (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}
- (void)collectionView:(UICollectionView *)collectionView didUnhighlightItemAtIndexPath:(NSIndexPath *)indexPath {
    UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
    [cell setBackgroundColor:CELL_COLOR_NORMAL];
}




OK .完成。


分享本文至:

WRITTEN BY

avatar
本文标签:UICollectionViewCell
看了本文是不是觉得很赞,那就赶紧点击下面按钮分享给身边的朋友吧!

欢迎留言




用户登录

sitemap