我在我的 iPhone 应用程序中使用带有多个 UINavigationControllers 的 tabBarController,现在我想添加对旋转的支持(在某些 View Controller 上,不是全部)。我知道我需要为我的 UIViewControllers 实现 supportedInterfaceOrientation 方法。
当设备旋转时,在 UINavigationController 上调用了 supportedInterfaceOrientation,但我需要在我的 viewControllers 上调用它。最好的方法是什么?
我看到有些人在 UINavigationController 上创建了一个类别,它覆盖了supportedInterfaceOrientation 来查询 subview Controller 。但我知道 Apple 不赞成使用类别来覆盖方法。 (我已经这样实现了,它运行良好,但我想确保该应用继续与 future 版本的 iOS 一起使用。)
使用method swizzling怎么样?
子类 UINavigationController?
任何建议表示赞赏。
如果您使用 iOS 6+,我建议继承 UINavigationController
并覆盖 supportedInterfaceOrientations
类似于:
- (NSUInteger)supportedInterfaceOrientations;
{
return [self.topViewController supportedInterfaceOrientations];
}
关于ios - UINavigationController supportInterfaceOrientations : category vs swizzle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21866880/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |