我正在开发一个 iPad 应用程序。我允许横向和纵向模式。我的用户界面在纵向模式下很好,但是当我将其更改为横向模式时,我的用户界面变得一团糟。我看到了一些与此相关的 SO 帖子,并在我的 UIView 中的 initWith... 中添加了以下代码。
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(abc)
name:UIDeviceOrientationDidChangeNotification
object:nil];
执行此操作后,我的 UI 在纵向模式下工作正常。当我将其更改为横向模式时,我的 UI 很好。但是在我将它改回纵向模式后,我的应用程序崩溃了。我在 SO 上阅读了一些与应用程序崩溃相关的帖子,并了解了仪器。我启用了僵尸,发现一条消息正在发送到已经发布的对象,并且这条消息来自 NSNotificationCenter。
除了注册我的设备之外,我还需要处理其他事情吗?另外,有什么方法可以将实现从 UIView 更改为 UIViewController 并实现 UIViewController 关于设备方向的方法?请让我知道我需要遵循的步骤才能完成此操作。谢谢!