Vista variable … con toque de usuario

Cambiando el tamaño de la vista usando la input táctil del usuario

Esta es mi pregunta … bueno, una especie de … ahora es viejo … y también fue un poco mi deber aceptar la respuesta del chico ya que él me ayudó mucho

Esto está en continuación introduzca la descripción de la imagen aquí

Entonces, para resumirlo:

1) Quiero tener camera de tamaño variable en mi aplicación … fui a este git https://github.com/spoletto/SPUserResizableView .. lo descargué … lo implementé.

2)

AVCaptureVideoPreviewLayer *newCaptureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession: [[self captureManager] session]]; UIView *view = [self videoPreviewView]; CALayer *viewLayer = [view layer]; [viewLayer setMasksToBounds:YES]; CGRect frame = CGRectMake(50, 50, 200, 150); userResizableView = [[SPUserResizableView alloc] initWithFrame:frame]; // CALayer *viewLayer = [userResizableView layer]; userResizableView.delegate =self; [view setBackgroundColor:[UIColor clearColor]]; userResizableView.contentView =view; [self.view addSubview:userResizableView]; // [contentView release]; [userResizableView release]; CGRect bounds = [view bounds]; [newCaptureVideoPreviewLayer setFrame:bounds]; 

3) en mi método delegado

 - (void)userResizableViewDidEndEditing:(SPUserResizableView *)userResizableView { CGRect ResizableViewFrame = self.userResizableView.frame; NSLog(@" %f--- %f--- %f--- %f ---",userResizableView.frame.origin.x,userResizableView.frame.origin.y,userResizableView.frame.size.width,userResizableView.frame.size.height); captureVideoPreviewLayer.frame = ResizableViewFrame; NSLog(@" %f--- %f--- %f--- %f ---",captureVideoPreviewLayer.frame.origin.x,captureVideoPreviewLayer.frame.origin.y,captureVideoPreviewLayer.frame.size.width,captureVideoPreviewLayer.frame.size.height); } 

4) Ahora mi avcapturePreview es un poco salvaje … no toca el borde superior de la vista una vez que comienza la edición … se adhieren a la esquina inferior derecha pero nunca completa la vista.

El slog en el delegado registra valores iguales tanto para la vista previa como para el tamaño variable del usuario.

¿alguna ayuda?

Simplemente agrega:

 [captureVideoPreviewLayer setNeedsLayout]; [captureVideoPreviewLayer setNeedsDisplay]; 

al final del método de delegado para indicar a UIKit que los límites han cambiado y los contenidos de la capa necesitan actualización.