IOS压缩放大/缩小
我正在尝试在摄影机视图上实现收缩放大/缩小 到目前为止,我有以下代码:IOS压缩放大/缩小,ios,uipinchgesturerecognizer,Ios,Uipinchgesturerecognizer,我正在尝试在摄影机视图上实现收缩放大/缩小 到目前为止,我有以下代码: - (void) setZoom:(float)zoomValue{ NSError *error = nil; NSLog(@"Current zoom level %f " , zoomValue); if([_device lockForConfiguration:&error]){ if(zoomValue > 1 ){ if(zoomValue < _device.a
- (void) setZoom:(float)zoomValue{
NSError *error = nil;
NSLog(@"Current zoom level %f " , zoomValue);
if([_device lockForConfiguration:&error]){
if(zoomValue > 1 ){
if(zoomValue < _device.activeFormat.videoMaxZoomFactor){
_device.videoZoomFactor = zoomValue;
[_device unlockForConfiguration];
}else{
_device.videoZoomFactor = _device.activeFormat.videoMaxZoomFactor;
//self.currentZoom = _device.activeFormat.videoMaxZoomFactor;
[_device unlockForConfiguration];
}
}else if(zoomValue < 1){
_device.videoZoomFactor = 1;
//self.currentZoom = 1;
[_device unlockForConfiguration];
}
}
}
我遇到的问题很少:
-(IBAction)handlePinchWithGestureRecognizer:(UIPinchGestureRecognizer *)pinchGestureRecognizer {
if ( pinchGestureRecognizer.state == UIGestureRecognizerStateBegan )
{
_zoomGestureCurrentZoom = pinchGestureRecognizer.scale;
}
else if ( pinchGestureRecognizer.state == UIGestureRecognizerStateChanged )
{
// we have to jump through some hoops to clamp the scale in a way that makes the UX intuitive
float scaleDeltaFactor = pinchGestureRecognizer.scale/_zoomGestureLastScale;
float currentZoom = self.zoomGestureCurrentZoom;
float newZoom = currentZoom * scaleDeltaFactor;
// clamp
float kMaxZoom = 6.0f;
float kMinZoom = 1.0f;
newZoom = MAX(kMinZoom,MIN(newZoom,kMaxZoom));
//self.view.transform = CGAffineTransformScale([[gestureRecognizer view] transform], newZoom, newZoom);
[_imageCameraSource setZoom:newZoom];
// store for next time
self.zoomGestureCurrentZoom = newZoom;
}
}