UICollectionView
会显示collectionView(_:didSelectItemAtIndexPath:)
并且不会在其中一个单元格上滚动触摸,会立即在UICollectionView
中识别。
但是,当滚动collectionView(_:didSelectItemAtIndexPath:)
并点击单元格以停止滚动移动时,系统上的后续点击将不再被识别,并且不会触发collectionView.delaysContentTouches = false
collectionView.canCancelContentTouches = false
。
只有当滚动停止而没有点击后,才能识别后续点击。
我已经设置了
override func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
和
UIImageView
附注:
UICollectionView
子视图作为完整封面。UITabelViewCell
位于UIScrollView
内的scrollEnabled = false
内,但我已设置canCancelContentTouches = false
和collectionView.allowsSelection = false
。设置UICollectionView
并向单元格添加UITapeGestureRecognizer时会出现相同的行为。
为什么单元格上的点击无法识别?
更新:另一个奇怪的效果是,当 this.source = context.createMediaElementSource(song);
this.source.connect(context.destination);
}
MyAudio.prototype.play = function(){
this.source.mediaElement.play();
};
return MyAudio;
});
滚动到其内容之外的区域以便它会反弹时,它不会反弹但会停止滚动并停止在释放平底锅后快速轻拍细胞时查看。在该状态下,没有识别出抽头,因此这基本上与上述相同。
答案 0 :(得分:0)
这种行为的原因是集合视图位于视图控制器的视图内部(简化,更不用说强制解包)了:
UIApplication.sharedApplication().windows.last?.makeKeyAndVisible()
let parentViewController = UIApplication.sharedApplication().keyWindow!.rootViewController
parentViewController.presentViewController(self, animated: true, completion: nil)
解决方案是删除整个第一行makeKeyAndVisible
。