gpt4 book ai didi

ios - 为什么使用自动布局时 View 的框架宽度始终为 600 x 600

转载 作者:IT王子 更新时间:2023-10-29 05:33:12 27 4
gpt4 key购买 nike

我正在制作一个基本的扫雷应用程序,用于快速练习/娱乐。我想让板的尺寸(10 block 宽)适应任何 iOS 屏幕。

为此,我通过获取 tileContainer view.frame.width 和/10 来设置每个图 block 的大小。

我的问题是 tileContainer View 设置为 600,无论如何。在我的 Storyboard 上,我将 tileContainer 设置为等于 View Container 的宽度,通过 CTR 单击并拖动到 View 并选择相等的宽度。这会将 tileContainer 的宽度设置为 600,而不管我正在测试的设备是什么。 (这是我的问题,宽度应该根据屏幕宽度而变化,而不是恒定的 600)

有谁知道我怎样才能获得正确的屏幕宽度,而不管它在什么设备上使用?

最佳答案

当您使用自动布局时, subview 在 viewDidLayoutSubviews 函数之后布局。因此,如果您在此之前调用 tileContainer.frame.size,例如在 viewDidLoad 中,它将始终为 600 x 600( Storyboard中的默认大小)。

viewDidLayoutSubviews: Called to notify the view controller that its view has just laid out its subviews. reference

override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()

print(tileContainer.frame.size); // This is actual size you are looking for
}

关于ios - 为什么使用自动布局时 View 的框架宽度始终为 600 x 600,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30228459/

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