2012-12-04 11 views
7

Próbowałem tego dwa razy z dwoma różnymi aplikacjami i otrzymałem to samo. Mam skonfigurować instancji UIImagePIckerController w następujący sposób:CGAffineTransformInvert: pojedyncza macierz w UIImagePickerController z showCameraControls = NIE

- (IBAction)addImage:(UIBarButtonItem *)sender { 


    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 
     NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; 
     if ([mediaTypes containsObject:(NSString *)kUTTypeImage]) { 
      UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
      picker.delegate = self; 
      picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
      picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage]; 
      picker.allowsEditing = NO; 
      picker.showsCameraControls = NO; 

      [self presentViewController: picker animated:YES completion:NULL]; 

     }   
[..] 

} 

To był drugi. W pierwszym ustawiłem niestandardową nakładkę, aby uruchomić migawkę i inne funkcje. Wszystko działa dobrze, ale wciąż otrzymuję błąd na konsoli:

<Error>: CGAffineTransformInvert: singular matrix. 

Kiedy uruchomić aplikację, za każdym razem obracać (lub poruszać który sygnalizuje Obróć) urządzenia, gdy aparat jest gotowy {something happens here}. Próbowałem go na moim iPhonie 4 i iPadzie Mini z tymi samymi wynikami. Po wielu kopania Znalazłem to zdarzyć tylko w przypadku, gdy

picker.showsCameraControls = NO; 

Jeśli kładę

picker.showsCameraControls = YES; 

Potem dostaję żadnego komunikatu (chociaż mój zwyczaj nakładka jest ukryta zbyt). Upewniając się, że to nie jest sama nakładka niestandardowa, spróbowałem ją pominąć i nadal wyświetla komunikat o błędzie.

Ktoś ma pomysły co powinienem z tym zrobić?

+0

Doskonały pierwszy post i zapraszamy do przepełnienie stosu. Jeśli mogę, zamierzam edytować dwa wiersze twojego wpisu i możesz kliknąć link edycji pod swoim wpisem, aby edytować go dalej, lub możesz kliknąć znacznik czasu nad moją edycją, aby przejrzeć zmiany do tej pory. stanowisko. Niestety, nie ma innych konstruktywnych komentarzy do wpisu. Zachęcam cię do dodania czegoś w miejsce '{coś się tutaj dzieje}', ponieważ nie było dla mnie całkowicie jasne, co się dzieje, kiedy przenosisz telefon. – jcolebrand

+0

Występuje ten sam problem na iOS 5 iPhone 4 z picker.showsCameraControls = NO ;. Występuje tylko wtedy, gdy zapisuję obraz z - imagePickerController: didFinishPickingMediaWithInfo: in JPEG (nie PNG). Jeśli zapiszę go w PNG, zostanie on jakoś obrócony. –

+0

@jcolebrand: Cześć ... ja też mam ten sam problem ... Pomóż mi rozwiązać ten problem? –

Odpowiedz

1

Uważam, że jest to w dużej mierze nieszkodliwe, ponieważ kod przykładowy PhotoPicker firmy Apple generuje to ostrzeżenie. Rotacja ma związek z macierzami i choć nie jestem pewien, która matryca jest w danym momencie obracana, za matematyczne naruszenie uważa się wykonywanie operacji na macierzach z wyznacznikiem zerowym (podobnie jak w przypadku dzielenia przez zero). Taka macierz nie jest odwracalna lub 'osobliwy':

http://en.wikipedia.org/wiki/Rotation_matrix

http://en.wikipedia.org/wiki/Determinant

http://en.wikipedia.org/wiki/Singular_matrix#singular

Powiązane problemy