好的,知识渊博的程序员类型,请温柔...
我无法让一个非常简单的单视图“Hello World”应用程序自动旋转。我经历了通常的“Hello World”步骤:
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return YES;
}
*/
(嗯... Duh。我刚看到它。但我会继续我的故事以供您娱乐。)
在谷歌搜索大约一个小时后,沮丧开始了。在我所见之处,每个消息来源都说同样的话:只需将返回值更改为“是”即可。但是...
我什至将调试器断点插入!他们都没有被击中!(震惊,惊讶!)我不知道如何使用调试器,我在“initWithNibName”上设置了一个断点。你猜怎么了?!那也没有被击中!有没有搞错?!
所以我下载了 Apple 的 WhichWayIsUp 应用程序来测试我的断点 l33t 断点技能。果然,当我旋转“iPhone”时它会发出哔哔声。那我做错了什么?!
当然,我并没有那么无知,我……不,等等,我收回那句话。如果你看到我上面的错误,那么你肯定会想,“是的,他就是那么无知。” 你是对的。
对于那些偶然发现这个问题,同样感到沮丧并且还没有看到问题的人,这里是答案:整个shouldAutorotateToInterfaceOrientation方法由“/* */”注释标记封装。它从来没有被编译过,更不用说被调用了。
现在,据我所知,我发现的任何来源都没有表明您必须确保代码块未注释。一些人说,“你所要做的就是改变一行代码。” 而且,除了那些上面有评论标记的另外两个之外,它们是完全正确的。
如果我只是帮助了其他一些 n00b,那就太好了。如果我让你嘲笑我的失败,那就更好了。
谢谢大家,你们的帮助!