gpt4 book ai didi

UIViewController 没有定位。未调用的方法

转载 作者:行者123 更新时间:2023-12-04 08:30:03 25 4
gpt4 key购买 nike

问候,

这个问题似乎确实是 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)应该......在创建 View Controller 时被调用一次,并返回"is"。但在那之后,没有其他方法被调用!

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

于是我调查了......
//developer.apple.com/iphone/library/qa/qa2010/qa1688.html
正如它所说,我首先添加了 GLViewController.view,然后将 GLview 添加为应用程序委托(delegate)的 subview 。没有!

然后发现了这个
//www.iphonedevsdk.com/forum/iphone-sdk-development/44993-how-determine-ipad-launch-orientation.html
哪些状态可以启用方向通知
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

然后随后在 View Controller 中禁用它们......很有意义......做到了,什么都没有......

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

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

代码可以在这里找到...
http://rapidshare.com/files/392053688/autoRotation.zip

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

P.S iPad 设备不在我所在的位置,所以我还不能在设备上进行测试。在模拟器上工作会很好。

最佳答案

好的..所以在另一对夫妇的头撞到墙上之后,尝试手动进行......哈利路亚......

所以这是结果......
添加这两行,以便在创建 View Controller 时调用它们...
即在 -(void)loadView 或等效项中

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selectot(didRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];

并设置 (void)should.... 返回 YES
-(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!
}

基本上,问题是我做了一半的尝试让它与 beginGeneratingDeviceOrientationNotifications 添加一起工作。我还需要“捕获”定向事件并自己处理它们......

对于想知道为什么的纯粹主义者?我不知道或不明白为什么,抱歉......理论上它应该有效,但实际上没有。

关于UIViewController 没有定位。未调用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2920095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com