ios – 风景xib显示为肖像

我有一个视图控制器和单独的nib文件的纵向和横向.旋转时,我加载相应的笔尖.方法
shouldAutorotatetoInterfaceOrientation and willRotatetoInterfaceOrientation

得到调用,笔尖改变了.

问题:

the landscape nib does not appear as landscape,but portrait! The status bar is
correctly rotated and appears on the top:
(Sorry,Couldn't paste the image,because my account is new. The screenshot is in   
landscape,with a landscape status bar,but a landscape view shown as portrait.)

人们会认为这个问题在于没有将景观设计为景观在IB模拟指标的视图,但我已经这样做,并且视图在IB中显示为风景. (我不认为如果视图是人像,甚至不可能创建一个像这样的旋转按钮).除了这两个笔尖之外,我还有一个mainwindow.xib,它包含应用程序委托,窗口和视图控制器对象.

编辑:我意识到这些意见实际上是旋转的,当他们“坚持”时.这就像有一个额外的转变.当我将手机旋转90度时,风景xib显示向右旋转90°.当我将手机向右旋转90°时,肖像xib被倒置显示.状态栏总是正确显示在顶部.

编辑2:使用

self.view.transform = CGAffineTransformMakeRotation((M_PI * (90) / 180.0));

在willRotatetoInterfaceOrientation我可以将视图旋转到左侧(和任何方向我想要),所以我可以使用它作为一种解决方法.但是,我有其他项目,视图自动旋转,不需要使用CGAffineTransformMakeRotation.这就像是阻止自动旋转的东西.

解决方法

是否将从nib加载的视图添加为subView?如果只有状态栏正在旋转,这意味着您释放视图并添加新视图时挂起之前的视图.可以告诉您如何将从xib加载的视图添加到SuperView.

确保您在加载其他视图时正确释放以前的视图,将NSLOG放在视图的dealloc中,并检查视图是否完全释放.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...