use*_*541 12 objective-c uigesturerecognizer ios uipangesturerecognizer
现在我的UIPanGestureRecognizer识别每个平移,这是很棒且必要的,但是当我使用它作为滑动手势来增加和减少变量的值时,在方法中我只想经常动作.如果每次检测到它增加1,则值会上升得太快.
有没有办法做一些事情,每10个像素的平移做这个,或类似的东西?
jsz*_*ski 19
您正在寻找translationInView:,它会告诉您平底锅已经进展了多远,并且可以根据您的最小距离进行测试.此解决方案不包括您在一个方向上来回移动的情况,其数量等于最小距离,但如果这对您的方案很重要,则添加起来并不难.
#define kMinimumPanDistance 100.0f
UIPanGestureRecognizer *recognizer;
CGPoint lastRecognizedInterval;
- (void)viewDidLoad {
[super viewDidLoad];
recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(didRecognizePan:)];
[self.view addGestureRecognizer:recognizer];
}
- (void)didRecognizePan:(UIPanGestureRecognizer*)sender {
CGPoint thisInterval = [recognizer translationInView:self.view];
if (abs(lastRecognizedInterval.x - thisInterval.x) > kMinimumPanDistance ||
abs(lastRecognizedInterval.y - thisInterval.y) > kMinimumPanDistance) {
lastRecognizedInterval = thisInterval;
// you would add your method call here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4126 次 |
| 最近记录: |