- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试使用以下代码,以便 View 转换仅在设备是处于横向模式的 iPhone 时才返回某些内容:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
coordinator.animateAlongsideTransition(nil, completion: {
_ in
return x
})
}
我不知道如何使此代码仅在设备是横向模式下的 iPhone 时执行,或者是否有其他方法可以执行。
最佳答案
在您的函数中,您只需使用 Apple's provided UIKit APIs (under UIDevice) 即可检查设备习惯用法。 。
let isPhone: Bool = UIDevice.current.userInterfaceIdiom == .phone
此外,使用 UIKit 中的相同 UIDevice API,您可以检查 orientation of the device .
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
})
}
}
关于ios - Swift:如何使viewWillTransition仅影响横向的iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41765259/
我正在制作自定义键盘。我想根据 View 的宽度和高度生成键(UIButtons)的宽度和高度。 最初加载键盘时,viewDidAppear 会正确确定 View 的高度。 (375 x 216) o
我正在使用 UICollectionView 创建全屏图片库。当用户旋转设备时,我会在 中对 UICollectionView 执行更新 func viewWillTransition(调整大小:CG
我有一个 iOS 应用程序,有 3 个容器 View (A、B 和 C)。顶部容器 View (A) 是静态的,下面有一个容器 View (B),带有一个按钮,可将其“移动”到一侧以显示第三个容器 V
我正在使用具有两种 View 类型的日历 cocoapod(CVCalendar:https://github.com/CVCalendar/CVCalendar);周 View 和月 View 。
我正在学习开发 iOS 应用程序,目前我有 4 个 View Controller 。 在第一个 viewController 中,我使用方法 viewWillTransition 在运行时调整 UI
我使用 viewWillTransition 来更改 View 的框架,如果我的 ViewController 位于最顶层,那么一切都很好,这是旋转时打印的框架 TEST frame: (0.0, 0
我以编程方式在我的 UIInputViewController 的 viewDidLoad() 中创建了一组按钮。当方向从横向变为纵向时,我试图更改这些按钮的大小,反之亦然。 我正在尝试使用 over
我试图仅用一个 View 更改方向,其余 View 都固定为纵向。我在 AppDelegate 中设置了一个方法,如下所示 func application(_ application: UIAppl
我的应用程序是基于选项卡的导航。我在 iOS11 中使用 Xcode9。为了支持横向/纵向兼容性,我在所有 viewController 中使用以下方法。 override func viewWill
我必须检查我的设备在 iOS 8+ 中是否改变了方向。 我的做法是: override func viewWillTransition(to size: CGSize, with coordinato
这是我如何重写我的 View Controller ,但是,如果有另一种更好的方法来做到这一点,那么我的第二个 View Controller 不符合重写请指导我,任何建议都会很好. override
我有一个名为 myView 的 UIView 子类,当设备方向发生变化时,它应该重新配置自身。我在 UIViewController 中使用 viewWillTransition(to size: C
我正在制作一个 iMessage 应用程序。我已经实现了 viewWillTransition(to:with:) 以调整/重新排列我的应用程序中的 View 。当我的应用程序的 presentati
我是一名优秀的程序员,十分优秀!