2010-09-09 4 views
5

Mam kontroler segmentu na jednym z moich widoków, a teraz na 0 indeksie kontrolera segmentu chcę dodać UIImagePickerController (dla pokazania widoku kamery dla użytkownika), dodając jako podrzędny widok, a nie przez ModalViewController. Teraz widok zostaje załadowany, ale nie pokazuje żadnego widoku z kamery. Jestem w stanie pokazać widok kamery przez presentModalViewController i przekazując jego obiekt.Jak dodać UIImagePickerController jako widok podrzędny zamiast widoku modalnego

Oto code--

if(segmentedControl.selectedSegmentIndex==0) 

{ 

UIImagePickerController *cameraView = [[UIImagePickerController alloc] init]; 

cameraView.sourceType = UIImagePickerControllerSourceTypeCamera; 

cameraView.showsCameraControls = NO; 

//[self presentModalViewController:cameraView animated:YES]; //Working 

[self.view addSubview:cameraView.view]; // Not Working 

} 

Odpowiedz

11
[self.view addSubview:picker.view]; 
[picker viewWillAppear:YES]; // trickery to make it show 
[picker viewDidAppear:YES]; 

Dostajesz biały pasek na górze, jako efekt uboczny, ponieważ UIImagePickerController nie jest przeznaczony do użycia z nim.

0

Należy tego unikać, nie jest to zalecane i może prowadzić do niepożądanych efektów ubocznych.

Jak podano w dokumentacji (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImagePickerController_Class) nie można dodać go jako podrzędny, należy przedstawić go jako nowego kontrolera

Oto kawałek doc:

na iPhone lub iPod touch , wykonaj to modalnie (pełny ekran), wywołując presentViewController: animated: completion: metoda aktualnie aktywnego kontrolera widoku , przekazując skonfigurowany kontroler wyboru obrazu jako nowy kontroler widoku.

Mam nadzieję, że to pomoże!