gpt4 book ai didi

ios - 设备旋转后 subview 重新出现后,如何保持 UIStackView subview 的正确布局?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:11 25 4
gpt4 key购买 nike

您好,我有一个 UIStackView,我已取消选择它的 Installed 属性以获得紧凑的高度:

enter image description here

Interface Builder 以纵向模式显示元素,以横向模式隐藏元素。当我在 iPhone 模拟器中运行该应用程序时,最初以纵向模式正确呈现元素(第二行按钮):

enter image description here

元素向右旋转后消失。但是在再次向左旋转回到纵向模式后,元素呈现不正确(见屏幕左上角):

enter image description here

再次出现后,我是否需要以编程方式处理元素的布局?如果是这样,我在哪里可以找到帮助我开始使用它的文档?

最佳答案

比较父 View 的 subviewsarrangedSubviews 属性表明 iOS 将 View 添加到前者,而不是后者。 (这是当 iOS 根据属性检查器中指定的不同特征的“已安装”复选框的变化来处理自适应布局时。)

因此需要将这个特定的 subview 插入回排列的 subview 中。我将此覆盖添加到主视图 Controller (layout 是堆栈 View ,secondaryRow 是根据屏幕高度删除/添加的按钮行):

override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()

if let index = layout.subviews.index(of: secondaryRow) {
layout.insertArrangedSubview(secondaryRow, at: index)
}
}

我确信它可以推广,也许可以在布局更改时同步所有 UIStackViewsubviewsarrangedSubviews

关于ios - 设备旋转后 subview 重新出现后,如何保持 UIStackView subview 的正确布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836012/

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