0

Ich habe eine iPhone-App, die nur im Landscape-Modus läuft, aber kürzlich wollte ich Mail/SMS/Facebook-Features (über UIButton Aktionen) hinzufügen. Der letzte läuft reibungslos, ich starte den Webbrowser (selbst verwaltet den Hochformatmodus), aber das Starten von Mail oder SMS-Composer macht mich verrückt. Ich möchte diese App nur im Querformat verwenden, mit Ausnahme von mail/sms/fb (Browser tatsächlich).Wie man E-Mail/SMS in der iPhone App im Querformat ausführt?

ich es geschaffen Mail/SMS Komponisten im Portrait-Modus zu haben, wenn App-Bildschirm in der Landschaft zu haben, aber Tastatur erscheint auch in der Landschaft, die die linke/rechte Hälfte des Komponisten blockiert - es hatte mit [composer setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];

entweder I sind zu diesem Thema schlechte Sachen zu lesen, oder ich bin einfach blind;) - oder so jede Hilfe benötigt, dank

EDIT:

ich eine Wurzel mit Viewcontroller außer Kraft gesetzt habe:

- (BOOL)shouldAutorotateToInterfaceOrientation 

, die in beiden Querformatmodi YES zurückgibt. Diese rootVC startet ShareVC, die 3 Tasten für Mail/SMS/Fb hat. Ich möchte etwas wie das Starten eines Webbrowsers erreichen, der im Hochformat beginnt. Das selbe mit mail & sms, aber mit modal view controllern und dann zurück zu ShareVC nach dem Senden von Mail/SMS ...
Ich setze auch Orientierungen in Plist zu Querformat. Hoffe, dass dies zu klären, was ich :)

+0

ok, wenn jemand weiß, wie man um mail/sms-komponenten im querformat in der landschafts-app zu starten - das wäre auch befriedigend – raistlin

Antwort

0

Problem behoben hilft :) stellte sich heraus, ich present/rief modalViewController entlassen auf einem childVC nicht auf rootVC selbst, hier ist der Code-Schnipsel:

-(IBAction)goMail{ 
    NSLog(@"gomail..."); 
    MFMailComposeViewController *picker = [[[MFMailComposeViewController alloc] init] autorelease]; 
    NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 

    if ([MFMailComposeViewController canSendMail]) { 
     picker.mailComposeDelegate = self; 
     [picker setSubject:@"Hello iPhone!"]; 

     // Set up recipients 
     NSArray *toRecipients = [NSArray arrayWithObject:@"[email protected]"]; 
     [picker setToRecipients:toRecipients]; 
     [picker setMessageBody:@"mail content..." isHTML:NO]; 
     [self.controller presentModalViewController:picker animated:YES]; 
     //[picker release]; 
    } 
} 
+0

hier ist, wo ich gefunden habe [Lösung] (http://www.iphonedevsdk.com/forum/iphone-sdk-development/76670-getting-modal-view-controller-display-landscape-orientation.html) – raistlin

0

Versuche, diese zu dem gewünschten Viewcontroller zu tun versuche:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return interfaceOrientation==UIInterfaceOrientationLandscapeLeft; 
} 

ich habe nicht einen Mac in der Nähe, so könnte es seinen Fehler (n).

hoffen, dass es

+0

aber du meinst mit dem schnipsel, den ich erwähnt habe? oder einfach MFComposer wie immer mit überschriebenen shouldAutoRotate starten? – raistlin

+0

Kopieren Sie diesen Code einfach in den View-Controller. Es ist eine Standardmethode. Wenn also ein Benutzer ein Gerät dreht, wird es sich auch drehen, aber nur zu einer Landschaft. – Novarg

+0

Ja, aber wenn Sie Landschafts-App verwenden, erwarten Sie nicht plötzlich die Orientierung zu ändern, und ich nehme an, Problem ist MFComposers in Landschaft zu feuern:/Ich werde einige zusätzliche Informationen in Bearbeitung in einer Sekunde hinzufügen – raistlin