我唯一的ViewController
中有以下方法。
override func willAnimateRotationToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval) {
println("willAnimateRotationToInterfaceOrientation")
super.willAnimateRotationToInterfaceOrientation(toInterfaceOrientation, duration: duration)
switch (toInterfaceOrientation) {
case .Portrait: println(".Portrait")
case .PortraitUpsideDown: println(".PortraitUpsideDown")
case .LandscapeRight: println(".LandscapeRight")
case .LandscapeLeft: println(".LandscapeLeft")
case .Unknown: println(".Unknown")
}
}
我在项目设置中启用了所有可能的方向
但是,即使我在模拟器中旋转360°(iPhone也是如此),我也永远不会在控制台上打印“ .PortraitUpsideDown”。为什么?好像苹果公司不允许这种轮换。
最佳答案
您需要在基础supportedInterfaceOrientations()
的UIViewController
中专门颠倒放置肖像
方法的实现应如下所示。
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.All.rawValue)
}
关于ios - 当设备旋转为.PortraitUpsideDown时,我永远不会收到通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28915067/