gpt4 book ai didi

ios - iOS 6 中自动布局的动态大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:27 26 4
gpt4 key购买 nike

我想要一个 View ,其大小(在本例中为高度)取决于屏幕大小,以便用一个 xib 覆盖 iPhone4/iPhone6 的屏幕。因此,假设我使用了一个 ListView,我不想让它全屏显示,但我在上方和下方都有固定的空间。它的高度应该是:

screen_height - (space_above + space_below) 

在 Interface Builder 中,我可以设置两个垂直空间约束,然后甚至删除 ListView 的高度约束,因此它的高度由父 View 和这两个空间约束决定。

在模拟指标中设置了 Freeform,我可以通过拖动来更改 Root View 的大小并查看约束是否正常工作(ListView 会正确调整大小)。

问题:

但是,如果我在模拟器中运行该应用程序,一切都将固定在 Interface Builder 中的最后位置。我错过了什么阻止布局根据其约束工作的原因?

如果我将模拟指标更改为 Retina 3.5 或 4,Xcode 会删除我的约束并返回到固定大小约束。

最佳答案

问题是 Root View 不(假设的其他)占用屏幕的大小。

也许不是最好的解决方案:

[self.view setFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

但它会以正确的大小显示 View 并让约束发挥作用。

关于ios - iOS 6 中自动布局的动态大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12565101/

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