业精于勤,荒于嬉
全部博文(763)
分类:
2010-09-24 17:34:54
Applications in iOS normally launch in portrait mode to match the orientation of the Home screen. If you have an application that runs in both portrait and landscape mode, your application should always launch in portrait mode initially and then let its view controllers rotate the interface as needed based on the device’s orientation. If your application runs in landscape mode only, however, you must perform the following steps to make it launch in a landscape orientation initially:
In your application’s Info.plist
file, add the UIInterfaceOrientation
key and set its value to the landscape mode. For landscape orientations, you can set the value of this key to UIInterfaceOrientationLandscapeLeft
orUIInterfaceOrientationLandscapeRight
.
Lay out your views in landscape mode and make sure that their autoresizing options are set correctly.
Override your view controller’s shouldAutorotateToInterfaceOrientation:
method and return YES
only for the desired landscape orientation and NO
for portrait orientations.
Important: The preceding steps assume your application uses view controllers to manage its view hierarchy. View controllers provide a significant amount of infrastructure for handling orientation changes as well as other complex view-related events. If your application is not using view controllers—as may be the case with games and other OpenGL ES–based applications—you are responsible for rotating the drawing surface (or adjusting your drawing commands) as needed to present your content in landscape mode.
The UIInterfaceOrientation
property hints to iOS that it should configure the orientation of the application status bar (if one is displayed) as well as the orientation of views managed by any view controllers at launch time. In iOS 2.1 and later, view controllers respect this property and set their view’s initial orientation to match. Using this property is also equivalent to calling the setStatusBarOrientation:animated:
method of UIApplication
early in the execution of yourapplicationDidFinishLaunching:
method.
Note: To launch a view controller–based application in landscape mode in versions of iOS prior to v2.1, you need to apply a 90-degree rotation to the transform of the application’s root view in addition to all the preceding steps. Prior to iOS 2.1, view controllers did not automatically rotate their views based on the value of the UIInterfaceOrientation
key.