我做了一个定制的UIControl,它使用UIControlEvents来识别某些交互。一切都很顺利。现在我还想让我的UIControl识别一个UIPanGestureRecognizer,下面是代码
fieldView.addTarget(self, action: #selector(willSelectField(sender:)), for: .touchDown)
fieldView.addTarget(self, action: #selector(didSelectField(sender:)), for: .touchUpInside)
fieldView.addTarget(self, action: #selector(canceledFieldSelection(sender:)), for: .touchUpOutside)
fieldView.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(draggingField(gesture:))))因此,当我单击我的fieldView (自定义UIControl)时,将识别出touchDown。如果我不开始平移,touchUpInside和touchUpOutside也会被识别。但是,如果我同意,例如,放开我的fieldView,touchUpOutside就不会被触发。
注意: touchDragInside不是另一种选择,因为它只识别在大约100 it的范围内拖动。
发布于 2017-03-06 12:55:10
https://stackoverflow.com/questions/42624671
复制相似问题