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?
相关问题
- CALayer - backgroundColor flipped?
- Core Data lightweight migration crashes after App
- Core Data lightweight migration crashes after App
- How can I implement password recovery in an iPhone
- back button text does not change
相关文章
- 现在使用swift开发ios应用好还是swift?
- Could I create “Call” button in HTML 5 IPhone appl
- TCC __TCCAccessRequest_block_invoke
- xcode 4 garbage collection removed?
- Unable to process app at this time due to a genera
- How can I add media attachments to my push notific
- How do you detect key up / key down events from a
- “Storyboard.storyboard” could not be opened
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:
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.
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.
You implement
shouldAutorotateToInterfaceOrientation:
and have it return only YES forUIInterfaceOrientationIsLandscape(param)
whereparam
is the parameter you declared for the method.This will support landscape left and landscape right, instead of locking you to only one landscape orientation.