0

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,

  1. 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
  2. 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) enter image description here

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é. enter image description here

  • 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?

Répondre

0

Vous ne pouvez pas modifier le comportement du sélecteur d'image, tel que documenté par Apple.

Si vous avez besoin de plus de fonctionnalités que celles fournies par UIImagePickerController, vous pouvez utiliser le framework AV Foundation pour capturer les images.

Apple a un sample application qui démontre l'utilisation de AV Foundation.

Questions connexes