UIViewController未重新安装。未调用的方法

UIViewController未重新安装。未调用的方法,uiviewcontroller,screen-orientation,Uiviewcontroller,Screen Orientation,您好 这个问题似乎是iphone SDK世界中正在上演的传奇。。。这是我的贡献 有两个来自同一模板的独立项目。。。一个半工作,另一个根本不工作。。。 请让我解释一下我的步骤 使用此基本GL ES模板 //iphonedevelopment.blogspot.com/2008/12/opengl-project-template-for-xcode.html 我必须整理一些“发布”配置,但其他人拥有我为GL ES项目添加方向所需的一切 我的第一个项目,做了我的东西,然后添加了这些方法 -(BOOL

您好

这个问题似乎是iphone SDK世界中正在上演的传奇。。。这是我的贡献

有两个来自同一模板的独立项目。。。一个半工作,另一个根本不工作。。。 请让我解释一下我的步骤

使用此基本GL ES模板 //iphonedevelopment.blogspot.com/2008/12/opengl-project-template-for-xcode.html 我必须整理一些“发布”配置,但其他人拥有我为GL ES项目添加方向所需的一切

我的第一个项目,做了我的东西,然后添加了这些方法

-(BOOL)shouldAutoRotateToInterfaceOrientation .....   
-(void)willRotateToInterfaceOrientation ....
-(void)didRotateFromInterfaceOrientation ....
-(void)willAnimateRotationToInterfaceOrientation ....
并了解他们做什么(或在我的情况下试图做什么),(BOOL)应该。。。在创建视图控制器时调用一次,并返回“是”。但是在那之后,没有其他方法被调用

所以我从零开始使用一个空白模板(GL ES上面的模板)…并添加了最小值以支持自动旋转。但是这次没有一个方法被调用

所以我调查了。。。。 //developer.apple.com/iphone/library/qa/qa2010/qa1688.html 如上所述,我首先添加了GLViewController.view,然后将GLview添加为应用程序委托的子视图。没什么

然后发现了这个 //www.iphonedevsdk.com/forum/iphone-sdk-development/44993-how-determine-ipad-launch-orientation.html 哪些状态要启用方向通知

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
然后在视图控制器中禁用它们。。。有道理…做了,什么都没有

我认为通知在默认情况下可能是打开的,因为我不需要在第一个项目中启用它们,但它仍然尝试验证方向(即(BOOL)shouldAutoRotate…)

如果有人能帮助我,我将不胜感激,因为这个问题让我发疯。提前谢谢

代码可以在这里找到。。。

注:这些项目避免nib/xib资源,如果可能的话,希望保持这种方式


p.S iPad设备不在我的位置,所以我还不能在设备上测试。如果它能在模拟器上工作就好了

好的。。所以在另一对夫妇的头撞到墙上后,我试着用手做这件事。。。哈利路亚

结果是。。。 添加这两行,以便在创建视图控制器时调用它们。。。 i、 e在-(无效)负荷视图或同等视图中

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selectot(didRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];
而set(void)应该。。。。回答是

-(void)shouldRotateToInterfaceOrienation
{
return YES;
}
删除所有

-(void)willRotateToInterfaceOrientation ....
-(void)didRotateFromInterfaceOrientation ....
-(void)willAnimateRotationToInterfaceOrientation ....
这些是不需要的

然后添加一个名为didRotate的方法

-(void)didRotate:(NSNotification*)notification
{
UIDeviceOrientation oreo = [[UIDevice currentDevice] orientation];
// oreo is our new orientation!
}
基本上,问题是我做了一个半纵火的尝试让它与BegingeratingDeviceOrientationNotificationsAddition一起工作。我还需要“捕捉”定向活动并自己处理它们


对于那些想知道原因的纯粹主义者?我不知道也不明白为什么,对不起。。。理论上它应该是有效的,但实际上并没有。

我对DidroatePointerFaceorienaTaion有很多麻烦,因为不总是接到电话。shouldRotateToInterfaceOrientation始终被调用,但有时状态栏会无缘无故地旋转到横向,但视图控制器不会,并且会旋转到。。。不会被叫来。我尝试重写NavigationController以支持didRotateTo。。但我不希望NavigationController中的所有视图都支持旋转

最后,我决定,支持旋转的视图之前的视图也必须支持旋转。你会认为问题会发生在之前的观点上,但不知何故,问题消失了,这是唯一的改变


同样,这也

谢谢,这似乎有效。我对轮换的方法感到非常沮丧——有一天,其中一种方法会起作用,下一种不同的方法会起作用,而原来的方法根本没有反应。希望使用您提供的通知将继续工作。谢谢