핀치 줌의 속도를 줄이기 위해 어떻게 UIGestureRecognizer
많은this one같은 예상대로제작 한 UIGestureRecognizer
- (void)handlePinchGesture:(UIPinchGestureRecognizer *)gestureRecognizer {
if([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
// Reset the last scale, necessary if there are multiple objects with different scales
lastScale = [gestureRecognizer scale];
}
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan ||
[gestureRecognizer state] == UIGestureRecognizerStateChanged) {
CGFloat currentScale = [[[gestureRecognizer view].layer valueForKeyPath:@"transform.scale"] floatValue];
// Constants to adjust the max/min values of zoom
const CGFloat kMaxScale = 2.0;
const CGFloat kMinScale = 1.0;
CGFloat newScale = 1 - (lastScale - [gestureRecognizer scale]);
newScale = MIN(newScale, kMaxScale/currentScale);
newScale = MAX(newScale, kMinScale/currentScale);
CGAffineTransform transform = CGAffineTransformScale([[gestureRecognizer view] transform], newScale, newScale);
[gestureRecognizer view].transform = transform;
lastScale = [gestureRecognizer scale]; // Store the previous scale factor for the next pinch gesture call
}
}
이, 그러나 나의 클라이언트가 터치 덜 민감하고 싶은 작품. 꼬집기 속도를 내/외 방향으로 줄여 기본 속도의 약 80 %로 확대 할 수 있습니까?
당신이 당신의'scrollView'의 수동'zoomScale'을 설정하려고 했습니까? –
@ NicolasBonnet 유감 스럽지만이 특정 파일은 스크롤 뷰로 래핑되지 않으므로이를 수행 할 수 없습니다. – brandonscript