我想要一个在以下条件下触发其方法的按钮:
- 当用户点击按钮时
- 当用户按下按钮并将他/她的手指拖出按钮区域时
- 当用户将他/她的手指从按钮区域外拖到按钮区域内时
基本上,无论何时触摸按钮的任何部分,无论触摸的来源如何,我都希望触发该方法,但希望通过操作 UIButton 属性等来完成此操作touchedUpInside
。
感谢您的建议!
我想要一个在以下条件下触发其方法的按钮:
基本上,无论何时触摸按钮的任何部分,无论触摸的来源如何,我都希望触发该方法,但希望通过操作 UIButton 属性等来完成此操作touchedUpInside
。
感谢您的建议!
关于:
- 当用户按下按钮并将他/她的手指拖出按钮区域时
我最近做了类似的事情。这是我在Swift中的代码。
(在此示例中,您将 UIButton 子类化,例如class FadingButton: UIButton
:)
...
// The user tapped the button and then moved the finger around.
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesMoved(touches, with: event)
// Get the point to which the finger moved
if let point: CGPoint = touches.first?.location(in: self) {
// If the finger was dragged outside of the button...
if ((point.x < 0 || point.x > bounds.width) ||
(point.y < 0 || point.y > bounds.height)) {
// Do whatever you need here
}
}
}
...
我希望它可以帮助某人。
让你的方法-(IBAction)btnTap
和连接到这些属性
Touch Down
方法Touch Up Inside
用于此目的Touch Drag Inside
您需要将以下 UIControlEvents 添加到您的按钮:
UIControlEventTouchUpInside
UIControlEventTouchDragOutside
UIControlEventTouchDragInside
像这样
[self.myButton addTarget:self action:@selector(dragMoving:withEvent: )
forControlEvents: UIControlEventTouchDragInside | UIControlEventTouchDragOutside];
[self.myButton addTarget:self action:@selector(dragEnded:withEvent: )
forControlEvents: UIControlEventTouchUpInside |
UIControlEventTouchUpOutside];
[self.myButton addTarget:self action:@selector(myButtonTouchDown:withEvent: )
forControlEvents: UIControlEventTouchDown];