[英]How to force update CoreData Codefiles (Property Extension) in Swift 5?
[英]How to force display update in Swift
我正在制作一個Tic Tac Toe應用程序,我希望在加載視圖后將面板居中放置。
我已經做了一個centerBoard()
函數,該函數在viewDidLoad()
中被調用。 這是函數的代碼:
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()
}
但是,加載視圖時,僅在按下測試按鈕時,板才不會改變位置,盡管運行的是完全相同的代碼。 我做了if
語句,以檢查電路板的中心是否已更新,並且每次在加載視圖和按下按鈕時都成功打印一次。
將viewDidLayoutSubviews中的中心坐標輸出到控制台。 可能是您的設置被自動布局覆蓋,在調用viewDidLoad之后,多次調用了viewDidLayoutSubviews。 通過自動布局系統設置視圖的中心,或者如果不想使用xib / storyboard,請關閉自動布局。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.