gpt4 book ai didi

iphone - iOS:viewDidLoad 中的 View 高度设置不正确

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:52:17 24 4
gpt4 key购买 nike

我有一个从 Nib 加载的 View Controller ,我有一个定义为 346 像素高度的 ScrollView 。但是当我这样做时:

int h = scrollView.frame.size.height;
NSLog(@"%d",h);

在 viewDidLoad 中我得到 375。

我需要在 viewDidLoad(或其他类似方法)中设置适当的高度,以便我可以根据高度以编程方式设置 ScrollView 的内容(不希望它垂直“溢出”,仅水平“溢出”,分页) .

ScrollView 打开了每条自动调整大小的行。 (都是鲜红色)。奇怪的是,当加载 View 时我可以看到 ScrollView 是(正确的)346 像素高而不是 375,所以它必须在 viewDidLoad 和显示 View 之间的某个地方更改为正确的值。

我在这里走到了死胡同,任何获得适当大小的 View 的方法都会非常有帮助。提前致谢,如果您需要更多信息,请发表评论。

编辑:我解决它的方法是在 viewDidLoad 中放置一个 0.1 秒的计时器,当调用该计时器时,我完成了我需要做的工作。虽然这有点 hack,所以任何其他建议将不胜感激。

最佳答案

执行额外布局类型计算的正确位置通常在 viewWillLayoutSubviewsviewDidLayoutSubviews 中。 Docs here .这也来自“处理 View 旋转”部分:

The viewWillLayoutSubviews method is also called after the view is resized and positioned by its parent. If a view controller is not visible when an orientation change occurs, then the rotation methods are never called. However, the viewWillLayoutSubviews method is called when the view becomes visible.

关于iphone - iOS:viewDidLoad 中的 View 高度设置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4839332/

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