gpt4 book ai didi

ios - 如何在 Swift 中强制显示更新

转载 作者:行者123 更新时间:2023-11-29 01:26:44 25 4
gpt4 key购买 nike

我正在制作一个 Tic Tac Toe 应用程序,我希望在加载 View 后将棋盘居中。

我制作了一个在 viewDidLoad() 中调用的 centerBoard() 函数。这是函数的代码:

func centerBoard() {
print("centerBoard() triggered")
let centerX = (outerView.frame.size.width)/2
boardView.center = CGPointMake(centerX,250)
if boardView.center == CGPoint(x: centerX,y: 250) {
print("centerBoard() successful")
}
boardView.setNeedsLayout()
boardView.setNeedsDisplay()
}

但是,尽管运行完全相同的代码,但在加载 View 时板不会改变位置,只有在按下测试按钮时才会改变。我制作了 if 语句来检查板的中心是否已更新,并且每次都打印成功,无论是在加载 View 时还是在按下按钮时。

最佳答案

将viewDidLayoutSubviews中的中心坐标打印到控制台。可能您的设置被自动布局覆盖,在调用 viewDidLoad 后调用 viewDidLayoutSubviews 几次。通过自动布局系统设置 View 的中心,或者如果您不想使用 xib/ Storyboard,请关闭它的自动布局。

关于ios - 如何在 Swift 中强制显示更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33918373/

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