正如标题所说。我的 UIViewController 无论如何都不会旋转。当它加载时,shouldAutorotateToInterfaceOrientation 被调用,但之后就不会了。
更新1:
这是一个非常非常奇怪的问题。至少对于我来说。我会尽力解释一切。
这是一个基于导航的应用程序。每个控制器都有
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return YES;
}
Xcontroller 是 Acontroller 的子级,它不会自动旋转。如果 Xcontroller 成为 Bcontroller 的子级,那么它将自动旋转。所以Acontroller出了问题。但 Acontroller 与 Bcontroller 相同(除了其数据)。
怎么了?
更新2:
我决定重新创建一个控制器。它起作用了。我相信我错过了一些愚蠢的事情。
不知道和你的情况是不是同样的原因。但我也经历过同样的事情。这shouldAutorotateToInterfaceOrientation
一开始只被调用一次。
经过对代码进行认真调试后,我发现原因在于我重写的 init 方法。
我以前有过这个:
- (id)initWithAlbum:(PhotoAlbum *)theAlbum {
if (self) {
self.photoAlbum = theAlbum;
}
return self;
}
然后我改成这个
- (id)initWithAlbum:(PhotoAlbum *)theAlbum {
if (self = [super init]) {
self.photoAlbum = theAlbum;
}
return self;
}
注意:唯一的区别是我添加了[super init]
调用父进程 init。
进行此更改后,旋转效果良好,每次旋转屏幕时都会调用 shouldAutorotateToInterfaceOrientation。
希望这有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)