2017-03-08 5 views
0

Wenn ein View-Controller präsentiert, möchte ich es zu 100% der Bildschirmbreite/Höhe auf dem iPhone port Modus zu nehmen, aber Teil des Bildschirms in der Landschaft nehmen (wie diese):presentViewController Breite im Querformat

Landscape

Und auf dem iPad teilweise sein. Der folgende Code tut alles außer der teilweise auf dem iPhone Landschaft:

SQLProEditConnetionViewController * editConnectionViewController = 
    [[SQLProEditConnetionViewController alloc] initWithConnectionModel: nil]; 

editConnectionViewController.delegate = self; 

UINavigationController * navController = 
    [[UINavigationController alloc] initWithRootViewController: editConnectionViewController]; 

navController.modalPresentationStyle = UIModalPresentationFormSheet; 
navController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
navController.preferredContentSize = CGSizeMake(320, 620); // size of popup view 

[self presentViewController: navController 
        animated: YES 
       completion: nil]; 

Irgendwelche Ideen, wie ich richtig diese bekommen kann für iPhone Landscape-Modus zu arbeiten?

+0

Sie würden wahrscheinlich eine Containeransicht verwenden, um dies zu erreichen, anstatt nur einen 'UIViewController' über dem aktuellen zu präsentieren. Überprüfen Sie in der Dokumentation von Apple: https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html#//apple_ref/doc/uid/TP40007457-CH11-SW13 (insbesondere mit 'addChildViewController:' und Setzen Sie den Rahmen über den aktuellen 'UIViewController'. –

Antwort

0

Ändern Sie dies:modalPresentationStyle in Ihrem Code.

navController.modalPresentationStyle = UIModalPresentationFullScreen; 

Hoffe, das wird funktionieren ... !!

+0

Nein, das deckt immer noch alles komplett ab wie hier zu sehen: http://i.imgur.com/JLrM2Vt.png. – Kyle

0

Auf iPhone und iPod touch ist die dargestellte Ansicht immer Vollbild. Auf dem iPad hängt die Präsentation vom Wert in der Eigenschaft modalPresentationStyle ab.

0

Es stellt sich heraus, dass ich dies aufgrund der iPhone SE-Simulator sah. Bei größeren Geräten funktioniert es wie ich es will.

Verwandte Themen