2013-03-10 15 views
5

Ho un pulsante sulla mia macchina fotografica sovrapposizione personalizzata che richiama questo metodo:Impossibile modificare cameraFlashMode per UIImagePickerController

- (void) changeFlash:(id)sender 
{ 
    //UIImagePickerControllerCameraFlashModeOff = -1, 
    //UIImagePickerControllerCameraFlashModeAuto = 0, 
    //UIImagePickerControllerCameraFlashModeOn = 1 
    NSLog(@"before %d", self.picker.cameraFlashMode); 
    switch (self.picker.cameraFlashMode) { 
     case UIImagePickerControllerCameraFlashModeAuto: 
      [(UIButton *)sender setImage:[UIImage imageNamed:@"flashOn"] forState:UIControlStateNormal]; 
      self.picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn; 
      break; 
     case UIImagePickerControllerCameraFlashModeOn: 
      [(UIButton *)sender setImage:[UIImage imageNamed:@"flashOff"] forState:UIControlStateNormal]; 
      self.picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff; 
      break; 

     case UIImagePickerControllerCameraFlashModeOff: 
      [(UIButton *)sender setImage:[UIImage imageNamed:@"flashAuto"] forState:UIControlStateNormal]; 
      self.picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeAuto; 
      break; 
    } 
    NSLog(@"after %d", self.picker.cameraFlashMode); 

} 

self.picker.cameraFlashMode è sempre 0, prima e dopo la modifica di esso. Che cosa sto facendo di sbagliato?

Inoltre, il flash non funziona mai, anche se è presumibilmente bloccato in UIImagePickerControllerCameraFlashModeAuto.

+1

Verificare se self.picker è nullo. –

+0

Grazie. Era niente. – soleil

+0

@soleil ho avuto problemi di flash della fotocamera. Ho copiato il tuo metodo. e ha funzionato come un fascino. – shaikh

risposta

0

self.picker è nullo. Questo è un errore comune, ed è necessario controllarlo spesso, perché, a differenza di Java e di altri linguaggi, è valido inviare un messaggio a zero in Objective-C.

+0

Nel mio caso il selettore non è uguale a zero, e ho notato che il problema si verifica su iphone 4 e non su iphone 5. Ho creato un'altra domanda: [link] (http://stackoverflow.com/questions/22403092/cannot-change-cameraflashmode-for-uiimagepickercontroller-iphone-4-custom-camera) – manar

Problemi correlati