Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Force UIViewController to only show in landscape mode

My app runs in portrait mode, but i want to show one screen in landscape mode only as it is a chart. What do i add to my uiviewcontroller to force it into landscape mode only?

like image 706
lps Avatar asked Mar 17 '11 13:03

lps


People also ask

How do I force Javascript to landscape?

screen. orientation. lock('landscape'); Will force it to change to and stay in landscape mode.

How do I lock device orientation in Swift?

Set the supportedInterfaceOrientations property of specific UIViewControllers like this: class MyViewController: UIViewController { var orientations = UIInterfaceOrientationMask. portrait //or what orientation you want override var supportedInterfaceOrientations : UIInterfaceOrientationMask { get { return self.

Which setting in an IOS device do you need to enable if you want to test the application for various orientation modes?

From ios 10.0 we need set { self. orientations = newValue } for setting up the orientation, Make sure landscape property is enabled in your project. Save this answer.


2 Answers

I'm sorry but this answer will be very short: If you're using the UINavigationController, you can't. The answer @jer gives is therefore incorrect. The Apple documentation states:

All child view controllers in your UITabBarController or UINavigationController do not agree on a common orientation set.

I recently had this question answered on a bounty and my app rejected in the process. Read up on that here: How to constrain autorotation to a single orientation for some views, while allowing all orientations on others?

The only solution you have, is to throw away the UINavigationController and rewrite it with something of your own.

like image 130
epologee Avatar answered Sep 28 '22 05:09

epologee


By presenting and dismissing a view controller modally you can force an orientation. Set animations to "NO" and you can do this without the user even realizing it occurred.

You can read more about this Josh's answer on Is there a documented way to set the iPhone orientation?

I consider it a bit of a hack, but I've successfully implemented code using this premise to force any device orientation.

like image 41
DBD Avatar answered Sep 28 '22 05:09

DBD