我一直在努力使视图转换只会返回一些东西,如果设备是横向模式的iphone,使用以下代码:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
coordinator.animateAlongsideTransition(nil, completion: {
_ in
return x
})
}
我无法看到如果设备是横向模式的iphone,或者有不同的方法可以执行此代码,如何才能执行此代码。
答案 0 :(得分:0)
在您的功能中,您只需使用http://myurl.com/Account/LogOn即可查看设备习语。
let isPhone: Bool = UIDevice.current.userInterfaceIdiom == .phone
此外,使用UIKit的相同UIDevice API,您可以查看Apple's provided UIKit APIs (under UIDevice)。
let isLandscape: Bool = UIDevice.current.orientation.isLandscape
对于您的示例,您可以执行以下操作:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
if isPhone && isLandscape {
coordinator.animateAlongsideTransition(nil, completion: { _ in
})
}
}
答案 1 :(得分:0)
你可以通过这种方式检查它是否是iPhone:
let isPhone: Bool = UIDevice.current.userInterfaceIdiom == .phone
您可以使用以下方式获取屏幕方向:
let isLandscape: Bool = UIDevice.current.orientation.isLandscape
所以,只有当它是横向模式的手机时才能做某事:
if isPhone && isLandscape {
}