2012-06-24 19 views
8

Pracuję nad aplikacją na iPhone'a, która korzysta z widoku nakładki kamery UIImagePickerController. Jednak problem, na który napotykam, polega na tym, że moje nakładanie jest nadal widoczne na ekranie, gdy zdjęcie zostanie zrobione i pojawi się ekran podglądu. To wygląda bardzo dziwnie. Więc muszę zrobić jedną z dwóch rzeczy, z których oba są okazuje się trudniejsza, niż bym miał nadzieję:UIImagePickerController bez nakładki na podglądzie

  1. Zdjąć nakładkę, gdy ekran podglądu jest aktywna
  2. Nie pokazuj ekranu podglądu

Wiem, że mogę wykonać # 2, ustawiając showCameraControls = NIE - jednak nie tworzę obecnie własnych elementów sterujących aparatu, nadal chcę używać domyślnych elementów sterujących. Wygląda na to, że mówimy, że muszę odtworzyć doskonale doskonały interfejs użytkownika z niestandardowym interfejsem, aby obejść ekran podglądu.

Po stronie bocznej uważam, że irytujące jest to, że wbudowany aparat nie korzysta z ekranu podglądu, ale Apple najwyraźniej zmusza aplikacje do podjęcia długich starań, aby uniknąć ich użycia. Wydaje się dziwne.

+0

znaleźliście rozwiązanie? Mam ten sam problem: http://stackoverflow.com/q/23795453/1933185. Obejścia, które znalazłem, ale niezbyt miłe (ostatni post): http://iphonedevsdk.com/forum/iphone-sdk-development/21950-remove-camera-overlay-image.html. Inną opcją, jaką jest 'UIImagePickerController', pochodzi od' UINavigationController' mogą być możliwości dla haka ... – jerik

+0

Skończyło się na tym, że użyłem młota i wykonałem niestandardowy interfejs aparatu - mam nadzieję, że masz więcej szczęścia ode mnie! :) –

+0

młot jest moim awaryjnym :) Coś mi mówi, że UINavigationController ma potencjał - spróbuję. – jerik

Odpowiedz

1

upewnić się, że można ustawić delegata jako imagePicker.delegate=self;

i nazwał methode delegata

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; gdzie usuwania imagePicker.view z SuperView (zależy od sposobu zwanego IT)

Mam nadzieję, że pomaga

+0

Używam już tego połączenia delegata - ale nie jest ono wywoływane, dopóki nie pojawi się podgląd i kliknięto przycisk "Użyj". –

0

Musisz użyć NSNotificationCenter wraz z @ "_ UIImagePickerControllerUserDidCaptureItem" i @ "_ UIImagePicker ControllerUserDidRejectItem ".

Wchodząc podgląd widoku można usunąć nakładkę :) przykład kodu roboczego można znaleźć tutaj: https://stackoverflow.com/a/23899448/1933185

Powiązane problemy