1.想要实现UICollectionView点击切换背景色的效果,代码如下:
现象:手指轻点,背景色没有变化;手指整个放下去,背景色变化。
疑问:iOS中高亮状态的定义是什么(手指的什么触摸行为?现在给我的感觉有点像android中长按事件。。。因为我手指直接点击背景没有变化)。但是又很奇怪的是,手指点击的时候,是打印出了 log 的,说明触发了高亮和非高亮的方法,但是为什么颜色没有变化呢。。。。希望有知道的朋友能解释一下,先谢谢啦。
认证高级PHP讲师
Ce n’est probablement pas que cela n’a pas fait d’effet, mais que le tapotement a été trop rapide et que l’effet n’a pas été évident ; appuyer et maintenir équivaut à prolonger le processus
Essayez didSelect
Il est recommandé de sélectionner la vue lors de l'initialisation de la cellule
UIView *selectedBackgroundView = [[UIView alloc] init]; selectedBackgroundView.backgroundColor = [UIColor lightGrayColor]; self.selectedBackgroundView = selectedBackgroundView;
C'est très simple, car votre léger effleurement provoque le déclenchement de didHighlight et didUnhighlight presque en même temps, alors...
didHighlight
didUnhighlight
collectionView.delaysContentTouches = falseDéfinissez simplement cette propriété
Ce n’est probablement pas que cela n’a pas fait d’effet, mais que le tapotement a été trop rapide et que l’effet n’a pas été évident ; appuyer et maintenir équivaut à prolonger le processus
Essayez didSelect
Il est recommandé de sélectionner la vue lors de l'initialisation de la cellule
C'est très simple, car votre léger effleurement provoque le déclenchement de
didHighlight
etdidUnhighlight
presque en même temps, alors...collectionView.delaysContentTouches = false
Définissez simplement cette propriété