ios - 当panned停止时UIPanGestureRecognizer停止工作,而不是在下拉时停止

  显示原文与译文双语对照的内容
0 0

我在这里制造一个屏幕变暗。 我已经经在屏幕上放置了一个黑色视图,并使用UIPanGestureRecognizer来调整基于用户滚动或者下移的不透明度。 下面是代码:

- (IBAction)dimScreen:(UIPanGestureRecognizer *)sender {
//Get translation
 CGPoint translation = [sender translationInView:self.view];
 CGFloat distance = translation.y;
//add a fraction of the translation to the alpha
 CGFloat newAlpha = self.blackScreen.alpha + distance/self.view.frame.size.height;
//check if the alpha is more than 1 or less than 0
 if (newAlpha>1) {
 newAlpha = 1;
 }else if (newAlpha<0.0){
 newAlpha = 0.0;
 }
 self.blackScreen.alpha = newAlpha;
//reset translation to get incremental change
 [sender setTranslation:CGPointZero inView:self.view];
}

如果我向下滚动,不透明度将变为 1.0,我仍然可以以调整它。 如果不透明度为 0,我将无法再平移。 dimScreen: 选择器停止被调用。 任何人都能描述导致这个问题的原因?

时间:原作者:4个回答

0 0

具有 0个alpha值的视图不再接受。 实际上,在 0.011秒内,视图停止接收触摸。 因此,可以通过更改其他语句中的值来执行代码:

if (newAlpha>1) {
 newAlpha = 1;
 }else if (newAlpha <= 0.011){
 newAlpha = 0.011;
 }

我看到其他人提到的值 0.02,而不是 0.011,我发现它是。 我不知道"安全"是如何假设这些数字都是固定的,并且将继续工作,但它似乎现在工作。

原作者:
...