UIImagePickerController geen overlay op preview

Ik ben bezig met een iPhone-app die gebruikmaakt van de camera-overlay van de UIImagePickerController. Het probleem dat ik tegenkom, is echter dat mijn overlay nog steeds op het scherm staat wanneer de foto wordt gemaakt en het voorbeeldscherm verschijnt. Dit ziet er heel raar uit. Ik moet dus een van de twee dingen doen, die beide moeilijker blijken te zijn dan ik had gehoopt:

  1. Verwijder de overlay wanneer het voorbeeldscherm actief is
  2. Het voorbeeldscherm niet weergeven

Ik weet dat ik # 2 kan bereiken door showsCameraControls = NO in te stellen - ik ben echter momenteel niet mijn eigen camerabesturingen aan het maken, ik wil nog steeds de standaardbesturingselementen gebruiken. Het lijkt een voorhameraanpak om te zeggen dat ik een prima gebruikersinterface moet maken met een op maat gemaakte interface om het voorbeeldscherm te omzeilen.

Aan de zijkant vind ik het vervelend dat de ingebouwde camera geen preview-scherm gebruikt, maar Apple dwingt apps blijkbaar tot het uiterste om het gebruik ervan te voorkomen. Het lijkt raar.

8
heb je een oplossing gevonden? Ik heb hetzelfde probleem: stackoverflow.com/q/23795453/1933185 . Tijdelijke oplossingen die ik vond maar niet zo leuk (laatste bericht): iphonedevsdk.com/forum/iphone-sdk-development/… . Een andere optie als UIImagePickerController erft van de UINavigationController er kunnen mogelijkheden zijn voor een haak ...
toegevoegd de auteur jerik, de bron
de voorhamer is mijn terugval :) Iets zegt me dat de UINavigationController potentieel heeft - ik zal het proberen.
toegevoegd de auteur jerik, de bron
Uiteindelijk heb ik de voorhamer gebruikt en een aangepaste camera-interface gemaakt - ik hoop dat je meer geluk hebt dan ik! :)
toegevoegd de auteur Dustin Wilhelmi, de bron

2 antwoord

make sure that you set the delegate as imagePicker.delegate=self;

en heeft de gedelegeerde methode genoemd

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; where you remove imagePicker.view from superview (depends on the way you called it )

ik hoop dat dat helpt

1
toegevoegd
Ik gebruik die gedelegeerde oproep al - maar hij wordt pas gebeld nadat het voorbeeld is getoond en op de knop "Gebruik" is geklikt.
toegevoegd de auteur Dustin Wilhelmi, de bron

U moet NSNotificationCenter gebruiken samen met @ "_ UIImagePickerControllerUserDidCaptureItem" en @ "_ UIImagePickerControllerUserDidRejectItem".

When entering the preview view you can remove the overlay :) A working code example can be found here: https://stackoverflow.com/a/23899448/1933185

0
toegevoegd