我无法以横向模式启动应用程序。视图始终以纵向模式显示。
我在 plist 中配置了以下内容:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
UIViewController 在 AppDelegate.m 中创建:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.myViewController = [MyViewController alloc];
UIView *myView = [[UIView alloc] init];
myView = [UIColor whiteColor];
self.myViewController.view = myView;
self.window.rootViewController = self.myViewController;
self.window makeKeyAndVisible];
return YES;
}
将 shouldAutorotateToInterfaceOrientation 添加到 MyViewController.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
当设备处于纵向模式并且应用程序启动时,状态栏处于横向模式。但是,当 UIView 显示时,它将以纵向模式结束。当设备处于横向模式时,也会发生同样的事情。
但是,当我在 Interface Builder 中创建 UIViewController 时,它可以工作。
这是否与 autoresizemasking 有关,因为当我在 AppDelegate.m 中添加它时它不起作用:
myView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ;