我在我的應用程序中創建了一個「更多」按鈕,並且在我們關注按鈕時創建了一個很酷的動畫。它在iPhone 6上運行得非常好,但不是在6S plus或5s上運行。Button.center不適用於Swift中的所有屏幕3/4
這是我的按鈕和我的約束:
我創建我動畫一個backgroundView當我焦點的按鈕:
func createBackgroundEffet(_ backgroundView: UIView, size: Int, buttonFocused: UIButton){
backgroundView.frame = CGRect(x: 0, y: 0, width: size, height: size)
backgroundView.backgroundColor = UIColor(red: 200/255, green: 200/255, blue: 200/255, alpha: 1)
backgroundView.layer.cornerRadius = backgroundView.frame.size.width/2
backgroundView.clipsToBounds = true
backgroundView.center = buttonFocused.center
backgroundView.alpha = 1
self.insertSubview(backgroundView, at: 2)
}
(I設置backgroundView.alpha = 1例如)
而這個結果取決於屏幕(在iPhone 6上,它完全在「更多」按鈕上)。
我覺得buttonFocused.center值是從iPhone 6
值我能做些什麼來解決這個問題?
在哪裏你稱這個'createBackgroundEffet'? – Tj3n
在視圖的didLoad()或awakeFromNib()視圖 – KevinB
嘗試調用它從'viewWillAppear'或'viewDidLayoutSubview',在'viewDidLoad'視圖尚未佈局,導致錯誤的行爲 – Tj3n