UIPanGestureRecognizer クラスを使用して、y 軸上で上下にドラッグする UIButton があります。垂直機能の UISlider の代わりにこれを使用しています。最小値 0 から最大値 1 に制限される UISlider のように、ボタンを上下にドラッグして、0 と 1 の間のすべての float 値をキャプチャしたいと考えています。
私の現在のコードは正しい値をキャプチャしていません。これを修正するにはどうすればよいですか:
- (void)wasDragged:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:self.view];
CGPoint newCenter = CGPointMake(recognizer.view.center.x,recognizer.view.center.y + translation.y);
//range is 139 pixels
//i tried dividing 1/139 to get the increment using pixels
if(newCenter.y >= 126 && newCenter.y <= 265)
{
currentMainVolValue = currentMainVolValue - 0.00714285714286;
recognizer.view.center = newCenter;
[recognizer setTranslation:CGPointZero inView:self.view];
}
}