从 NIB 加载的自定义视图始终旋转 90 度

Posted

技术标签:

【中文标题】从 NIB 加载的自定义视图始终旋转 90 度【英文标题】:Custom view loaded from NIB is always rotated 90 degrees 【发布时间】:2014-04-09 01:20:18 【问题描述】:

我有一个UIViewController,它只适用于横向,即配置了

- (NSUInteger)supportedInterfaceOrientations 
    return UIInterfaceOrientationLandscapeLeft;

我有一个带有自己的 NIB 的自定义 UIView不是视图控制器)。我将它加载到视图控制器中

- (void)viewDidLoad

    [super viewDidLoad];

    ISMainView *customView = [[[NSBundle mainBundle] loadNibNamed:@"ISMainView" owner:nil options:nil] lastObject];
    [self.view addSubview:customView];

当视图加载时,它会旋转 90 度显示,就好像它想要纵向显示一样。

知道有什么问题吗? UIView 对自己的方向一无所知,对吧?所以问题一定出在 View Controller 上?

【问题讨论】:

【参考方案1】:

所以看来问题是由

引起的
-(BOOL)shouldAutorotate 
    return NO;

我不知道为什么,但关闭shouldAutorotate 会阻止子视图设置为正确的设备方向,即使设备从不旋转。奇怪的。

【讨论】:

以上是关于从 NIB 加载的自定义视图始终旋转 90 度的主要内容,如果未能解决你的问题,请参考以下文章

为啥 iOS 不自动旋转从 Nib 加载的视图在被 didReceiveMemoryWarning 释放后?

从 nib 文件在自定义视图中设置自定义委托

将视图层次结构旋转 90 度

iOS 8 中 Nib 加载的子视图的位置不正确

从外部 xib/nib 文件导入的自定义按钮不响应按钮单击

从相机/图库加载图像位图时会旋转 [Android 9]