2
背景
我试图做一个UICollectionViewCell
更像一个按钮(即:不要触摸动画暗淡)。我有一个想法,就是用UIButton
填充单元格。然后该按钮将处理被轻拍的视觉效果。但之后我需要将触摸事件传递给父级(UICollectionViewCell
),以便按钮不会消耗事件。这样我可以通过收集视图的didSelectItemAtPath
来处理它。下面的问题是我想弄清楚如何传递事件。如何发送触摸事件nextResponder斯威夫特
我的问题
我碰到this Objective-C answer来传递触摸事件上:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
[self.nextResponder touchesBegan:touches withEvent:event];
}
不过,我卡住了,当我试图将其转换为斯威夫特:
class MyButton: UIButton {
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
super.touchesBegan(touches, withEvent: event)
self.nextResponder() // ???
}
}
的nextResponder
方法不接受任何参数,那么如何传递触摸事件?
我无法使用相关的SO问题(here和here)来帮助我弄清楚这一点。
这解决了我问的问题。不幸的是,我的'UICollectionViewCell'仍然没有收到触摸事件。但是,除非你知道问题可能出在哪边,否则这可能需要一个新的问题。 – Suragch