我已经在UIInterfaceOrientationMaskAll方法中设置了supportedInterfaceOrientations
当我显示UIModalViewController时,无论屏幕旋转如何,我总是获得748 x 1024视图的尺寸。如果旋转屏幕,尺寸将不会更新,并且在纵向和横向模式下均相同:748 x 1024。

这是呈现模态视图的代码:

MyModalViewController *myModal = [[MyModalViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:myModal animated:YES];

MyModalViewController扩展了另一个MyCUSTOMViewController,它是UIViewController的子类:
@interface MyModalViewController : MyCUSTOMViewController

@interface MyCUSTOMViewController : UIViewController

我究竟做错了什么?

最佳答案

根据我的阅读,有几件事情需要考虑:

  • 要使其他方向在整个应用程序中可用,您必须在应用程序的 -(NSUInteger)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window 中覆盖UIApplicationDelegate,并返回 UIInterfaceOrientationMaskAll :
  • 在自定义视图控制器中,您需要重写两个方法:
  • - (BOOL)shouldAutorotate
    {
        return YES;
    }
    
    - (NSUInteger)supportedInterfaceOrientations
    {
        return UIInterfaceOrientationMaskAll;
    }
    

    09-05 01:25