我已经以编程方式创建了UI组件。从横向旋转到纵向后,顶部锚常数44不再起作用。
屏幕截图:
代码:
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
if UIDevice.current.userInterfaceIdiom == .phone {
if UIDevice.current.orientation.isPortrait {
topLabel.topAnchor.constraint(equalTo: view.topAnchor, constant: 44).isActive = true
} else {
topLabel.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
}
} else {
topLabel.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
}
}
尝试使topLabel.topAnchor
等于self.safeAreaLayoutGuide.topAnchor
而不是view.topAnchor
。