gpt4 book ai didi

ios - 旋转时自动更新 preferredContentSize

转载 作者:搜寻专家 更新时间:2023-10-31 21:48:57 25 4
gpt4 key购买 nike

我正在寻找一种方法来强制执行 UIPopoverPresentationController 自动调整大小以填充大部分屏幕,减去 50 个填充单位。

我首先尝试在 viewDidLoad 中设置 preferredContentSize,然后检测何时发生旋转并将 CGSize 更新为我可以计算的新大小.但出于某种原因,这在我的上下文中不起作用。我使用的是 UIDeviceOrientationDidChangeNotification,它通常会调用该方法,但当 popover 存在于照片编辑扩展程序中时,它不会被调用。

我想知道除了在检测到大小变化后手动更新 preferredContentSize 之外是否还有其他方法可以更改弹出窗口的大小?如果没有,有没有办法在这种情况下从这个弹出框内检测旋转?

最佳答案

试试这个:

func isLandscape() -> Bool {
// your logical here
}

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
let myNewSize = isLandscape() ? mySizeLandscape : mySizePortrait
self.preferredContentSize = myNewSize
super.viewWillTransition(to: myNewSize, with: coordinator)
}

关于ios - 旋转时自动更新 preferredContentSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26190005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com