gpt4 book ai didi

ios - UIPanGestureRecognizer 在平移时停止工作,而不是在平移时停止工作

转载 作者:行者123 更新时间:2023-11-29 13:09:08 27 4
gpt4 key购买 nike

我基本上是在这里创建一个屏幕调光器。我在屏幕上放置了一个黑色 View ,并使用 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: 选择器停止被调用。任何人都可以描述导致此问题的原因吗?

最佳答案

alpha 值为 0 的 View 不再接收触摸。事实上,似乎低于 0.011 alpha View 停止接收触摸。因此,您的代码可以通过更改 else-if 语句中的值来工作:

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

我看到其他人提到的值是 0.02,而不是我凭经验发现的 0.011。我不知道假设这两个数字中的任何一个是固定的并且将来会继续起作用有多“安全”,但它现在似乎起作用了。

关于ios - UIPanGestureRecognizer 在平移时停止工作,而不是在平移时停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17823732/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com