如何给UIColloectionViewCell设置点击效果,本以为像全局设置UITableViewCell选中的颜色一样,这样写:
UIView *backgroundView = [[UIView alloc] init];
backgroundView.backgroundColor = [UIColor colorWithRed:0xe6/255.0 green:0xe6/255.0 blue:0xe6/255.0 alpha:1.0];
[[UITableViewCell appearance] setSelectedBackgroundView:backgroundView];
[[UICollectionViewCell appearance] setSelectedBackgroundView:backgroundView];
但是效果很奇葩,不管点击哪个cell,都是最后一个cell高亮。
想到可能是cell复用的问题,求大神解毒。
后来改为在cellForItemAtIndexPath方法中设置,成功!
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:MENU_CELL_IDENTIFIER forIndexPath:indexPath];
UIView *backgroundView = [[UIView alloc] init];
backgroundView.backgroundColor = [UIColor colorWithRed:0xe6/255.0 green:0xe6/255.0 blue:0xe6/255.0 alpha:1.0];
[cell setSelectedBackgroundView:backgroundView];
return cell;
}