Mon application entière est en orientation portrait, seule la vue de la caméra doit s'ouvrir en mode paysage.Comportement câblé de UIImagePickerController lors de la capture de la photo
Je suis en prenant référence du code exemple d'Apple UIImagePickerController
, https://developer.apple.com/library/ios/samplecode/PhotoPicker/PhotoPicker.zip
Dans mon exigence, je l'ai à la force UIImagePickerController
pour commencer la caméra en mode paysage, et la nécessité de capturer les photos disponibles.
Je suis au courant de cela,
La classe UIImagePickerController prend en charge le mode portrait uniquement. Cette classe est destinée à être utilisée telle quelle et ne supporte pas la sous-classe. La hiérarchie de vue pour cette classe est privée et ne doit pas être modifiée, à une exception près. Vous pouvez affecter une vue personnalisée à la propriété cameraOverlayView et utiliser cette vue pour présenter des informations supplémentaires ou gérer les interactions entre l'interface de l'appareil photo et votre code.
J'ai mis comme suit pour y parvenir,
- sous classe avec
UIImagePickerController
et où je mis en œuvre toutes les méthodes d'orientation nécessaires. comme ceci, https://stackoverflow.com/a/14618870/1603234 une autre méthode: faire une catégorie pour
UIImagePickerController
dans la même classe où je présente la caméra.@implementation UIImagePickerController(rotationFixed) - (BOOL) shouldAutorotate { return NO; } - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ return UIInterfaceOrientationLandscapeRight; } - (NSUInteger)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskLandscape; } @end
mais cette aide habitude.
Voir les captures d'écran ci-dessous,
Cette photo est correcte, prise avec caméra réelle (iPhone4s application appareil photo)
Ceci est capturé à l'intérieur de l'appareil photo à partir de l'application. Vue de la caméra a été tourné dans le côté.
Ce que j'ai à corriger est, de faire vue correcte pour la caméra de
UIImagePickerController
Est-il possible que je peux forcer en vue de capturer des photos en mode paysage? Pourquoi la caméra a-t-elle pivoté à l'intérieur de la caméra?
Pourquoi la caméra a-t-elle tourné à l'intérieur?
Avec
cameraOverlayView
puis-je obtenir ceci?