UIImagePickerController keine Überlagerung in der Vorschau

8

Ich arbeite an einer iPhone-App, die die Kamera-Overlay-Ansicht des UIImagePickerControllers verwendet. Das Problem ist jedoch, dass mein Overlay immer noch auf dem Bildschirm ist, wenn das Bild aufgenommen wurde und der Vorschaubildschirm erscheint. Das sieht sehr komisch aus. Ich muss also eines von zwei Dingen tun, von denen beide schwieriger sind, als ich es mir erhofft hatte:

  1. Entfernen Sie das Overlay, wenn der Vorschaubildschirm aktiv ist
  2. Der Vorschaubildschirm wird nicht angezeigt

Ich weiß, dass ich # 2 erreichen kann, indem ich showCameraControls = NO bearbeite - allerdings erstelle ich derzeit keine eigenen Kamerasteuerungen, ich möchte trotzdem die Standardeinstellungen verwenden. Es scheint wie ein Vorschlaghammer Vorschlag zu sagen, dass ich eine perfekt feine Benutzeroberfläche mit einer benutzerdefinierten Schnittstelle neu erstellen muss, nur um den Vorschaubildschirm zu umgehen.

Bei einem Seitenschrei finde ich es ärgerlich, dass die eingebaute Kamera keinen Vorschaubildschirm verwendet, aber Apple zwingt anscheinend Apps dazu, große Anstrengungen zu unternehmen, um es nicht zu benutzen. Scheint seltsam.

    
Dustin Wilhelmi 24.06.2012, 02:50
quelle

2 Antworten

1

Stellen Sie sicher, dass Sie den Delegaten als imagePicker.delegate=self;

festlegen

und rief die Delegiertenmethode

auf

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; wo Sie imagePicker.view von superview entfernen (hängt von der Art ab, wie Sie es aufgerufen haben)

Ich hoffe, das hilft

    
M.Othman 24.06.2012 05:57
quelle
0

Sie müssen NSNotificationCenter zusammen mit @ "_ UIImagePickerControllerUserDidCaptureItem" und @ "_ UIImagePickerControllerUserDidRejectItem" verwenden.

Beim Öffnen der Vorschauansicht können Sie das Overlay entfernen :) Ein funktionierendes Codebeispiel finden Sie hier: Ссылка

    
jerik 27.05.2014 21:47
quelle