Sle*_*lee 1 objective-c ipad ios
是否可以只触发一次UIPinchGestureRecognizer操作?
我想让我的用户捏(实际传播)到一个动作的激发,但该方法被不断调用,我理解是UIPinchGestureRecognizer的功能.
使用下面的答案更新代码(只检测缩放):
-(void) handlePinchGesture: (UIPinchGestureRecognizer *) sender {
if (sender.state == UIGestureRecognizerStateBegan) {
self.startingScale = sender.scale;
}
if (sender.state == UIGestureRecognizerStateEnded) {
if (sender.scale > self.startingScale) {
[self zoomIn];
}
}
}
Run Code Online (Sandbox Code Playgroud)
手势识别器是状态机,如果您没有指定要监听的状态,只需从手势中调用选择器就会触发任何/每个状态.
要将检测限制为手势开始时您可以使用:
- (void)myGestureRecognized:(UIGestureRecognizer*)sender
{
if (sender.state == UIGestureRecognizerStateBegan) {
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
其他承认状态包括:
typedef enum {
UIGestureRecognizerStatePossible,
UIGestureRecognizerStateBegan,
UIGestureRecognizerStateChanged,
UIGestureRecognizerStateEnded,
UIGestureRecognizerStateCancelled,
UIGestureRecognizerStateFailed,
UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded
} UIGestureRecognizerState;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |