【发布时间】:2017-07-26 06:23:50
【问题描述】:
我制作了一个自定义 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 像素范围内的拖动。
【问题讨论】:
标签: ios uigesturerecognizer draggable target uipangesturerecognizer