我是UITabBarController
的子类。如何在UITabBarController
的子类中处理方向更改?
注意:我已尝试过以下方法,但它无效。
override func didRotate(from fromInterfaceOrientation: UIInterfaceOrientation)
答案 0 :(得分:1)
您可以实现以下方法,
func viewWillTransitionToSize(_ size: CGSize,
withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)
在您的tabbarcontroller
swift 3中的示例:
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
print("Orientation will change")
if size.height > size.width {
print("portrait")
}
}
答案 1 :(得分:1)
与任何其他视图控制器一样,您可以覆盖viewWillTransitionToSize:
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
在Swift中,它是viewWillTransition:
func viewWillTransition(to size: CGSize,
with coordinator: UIViewControllerTransitionCoordinator)
检查“已更改”(未来)方向的正确方法是检查大小变量:
if (size.height > size.width)
{
//Portrait
}
else
{
//Landscape
}