我正在写一个iOS卡游戏.我在收藏视图中显示玩家的牌.玩家可以通过点击它们来选择一张或多张牌,然后按交易按钮来处理所选的牌.
我想允许用户使用多个手指一次选择多张卡片.例如,如果用户想要选择2张牌,他只需要用两根手指同时敲击这两张牌,并且他们都将被选中.似乎默认情况下,UICollectionView不允许这样做.当我用2个手指敲击时,即使isMultipleTouchEnabled属性UIView已设置为true ,也只会选择其中一个卡片.
请注意,我不是在询问如何允许用户在集合视图中选择多个项目.我可以而且确实已经这样做了allowsMultipleSelection = true.我要问的是如何让用户用2个手指(或n个手指n个手指)选择2个单元格.
我发现了这个问题,但这似乎是关于如何在选中时在单元格周围显示边框.
我也查看了文档,UICollectionView但我发现没有控制它的属性.
我可以轻松地在CellForItemAtIndexPath方法中更改单元格的背景颜色
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
cell.backgroundColor = UIColor.blackColor()
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试更改DidSelectItemAtIndexPath中的颜色时,它不起作用.
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let cell: ButtonCollectionCell = collectionView.dequeueReusableCellWithReuseIdentifier("ButtonCell", forIndexPath: indexPath) as! ButtonCollectionCell {
cell.backgroundColor = UIColor.blackColor()
Run Code Online (Sandbox Code Playgroud)
}
另外我在某处读到使用didSelectItemAtIndexPath不起作用,因为一旦集合视图开始滚动颜色将改变回来
Swift有什么问题?
非常感谢你的帮助