UIViewController interfaceOrientation问题

Iss*_*mTP 1 uiviewcontroller uiinterfaceorientation

像往常一样,我有一个UIViewController的子类.当我加载应用程序时,我需要调整一些我必须以编程方式放入的元素.当然,大小取决于界面方向:所以,我做了:

- (void)viewDidLoad {
  switch( [self interfaceOrientation] ) {
     case UIInterfaceOrientationPortrait:
     case UIInterfaceOrientationPortraitUpsideDown:
          NSLog(@"Portrait");
          break:
     case UIInterfaceOrientationLandscapeLeft:
     case UIInterfaceOrientationLandscapeRight:
          NSLog(@"Landscape");
          break;
  }
Run Code Online (Sandbox Code Playgroud)

但无论模拟器/设备的方向如何,即使一切都正确旋转,情况也始终是viewDidLoad/WillAppear中的Portrait.在Plist中,我添加了所有支持的方向.提示?

小智 8

根据我的经验,在交换机中尝试[UIApplication sharedApplication].statusBarOrientation检查等等,这是不可靠的.UIDeviceOrientationPortraitUIDeviceOrientationPortraitUpsideDown[self interfaceOrientation]