2013-03-10 6 views
5

के लिए cameraFlashMode नहीं बदला जा सकता मैं अपने कस्टम कैमरा ओवरले है कि इस विधि का आह्वान पर एक बटन है: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, हमेशा 0 है से पहले और इसे बदलने के बाद। मैं क्या गलत कर रहा हूं?

इसके अलावा, फ्लैश कभी काम नहीं करता है, भले ही यह माना जाता है कि यह UIImagePickerControllerCameraFlashModeAuto में फंस गया है।

+1

जांचें कि self.picker शून्य है या नहीं। –

+0

धन्यवाद। यह शून्य था। – soleil

+0

@soleil मुझे कैमरा फ्लैश समस्याएं थीं। मैंने आपकी विधि की प्रतिलिपि बनाई। और यह एक आकर्षण की तरह काम किया। – shaikh

उत्तर

0

self.picker शून्य है। यह एक आम गलती है, और आपको अक्सर यह जांचना होगा, क्योंकि जावा और अन्य भाषाओं के विपरीत, उद्देश्य-सी में शून्य को संदेश भेजने के लिए मान्य है।

+0

मेरे मामले में पिकर शून्य के बराबर नहीं है, और मैंने देखा कि समस्या आईफोन पर होती है 4 और आईफोन पर नहीं 5. मैंने एक अन्य प्रश्न बनाया: [लिंक] (http://stackoverflow.com/questions/22403092/cannot-change-cameraflashmode-for-uiimagepickercontroller-iphone-4-custom-camera) – manar

संबंधित मुद्दे