2012-10-24 3 views
7

Das beunruhigt mich schon eine ganze Weile, und ich habe so viele Nachforschungen darüber gemacht, konnte aber keine Antwort finden. Wenn ich zum ersten Mal eine Frage hier posten werde, bitte korrigieren/verzeihen Sie mir, wenn ich einen Fehler mache.Mehrere MODAL VIEW Controller ändern die Basismodalität auf FULL SCREEN nach ROTATION

Umwelt: iPad, iOS 6.0

Problem: Basis modale Ansicht Änderung nach der Drehung auf Vollbild.

Beschreibung: Ich habe eine Anwendung im Vollbildmodus, die gerade einen Modal View Controller zeigt. Vom zeigt modal Ansicht, zeige ich eine andere modale Ansicht, indem Sie:

vc.modalPresentationStyle = UIModalPresentationFormSheet; 
[self presentModalViewController:vc animated:YES]; 
//[self presentViewController:vc animated:YES completion:NULL]; 

Während die zweite Ansicht erscheinen, und ich drehen, um die iPad-Gerät. Die modale Grundansicht (zuerst) wird als Vollbild angezeigt und die oberste (zweite) modale Ansicht bleibt im formSheet-Stil. (richtig drehen)

Ich kann das beheben, indem ich modal view zu navigationController hinzufüge, aber ich möchte es in modaler Ansicht behalten.

Jeder weiß eine Lösung? Ich glaube, diese Person ist hier das gleiche Problem: ios 6 Incorrect modal view size after rotation

Btw, alles funktioniert in iOS 5. Apple-verändert die Art und Weise Rotation 6. Dank in iOS arbeitet, -Peter

Antwort

4

Ich fand eine Lösung für dieses Problem. Legen Sie den Darstellungsstil der letzten modalen Ansicht vor der Präsentation auf UIModalPresentationCurrentContext fest.

So:

vc.modalPresentationStyle = UIModalPresentationCurrentContext; [self presentModalViewController: vc animiert: YES];

Dies löst die Änderung der Größe der Basismodalansicht nach dem Drehen des iPad-Bildschirms.

Ursprünglich beantwortet von Menschen auf Apple Dev forum.

+0

FWIW, das funktionierte großartig, aber ich musste dies in den Child View Controller setzen, ich konnte es nicht in preparedForSegue vom presendingVC setzen. – rooftop