2016-07-06 123 views
0

我的應用程序中有一個條件,用於確定是否需要按鈕。如果沒有,我想讓其他按鈕向上移動以填充空間。我通過下面的代碼實現這一點:(每個按鈕)按鈕在移動後重置位置

var yMove:CGFloat = 40 

    let y = button.frame.origin.y 
    let x = button.frame.origin.x 
    let h = button.frame.height 
    let w = button.frame.width 


    self.button.frame = CGRectMake(x, y - yMove, w, h) 

他們顯示了他們被初始化到新的位置(好),但後來他們回到老位置的幾分之一秒(壞)。這是爲什麼發生?謝謝,所有幫助表示感謝!

另外,值得一提的是我正在從ViewDidLoad方法初始化視圖。並且在按鈕上設置約束條件。

回答

1

您可以保存按鈕的原始位置並在需要時使用該值。

var ogButtonFrame: CGRect! 
override func viewDidLoad() { 
    super.viewDidLoad() 
//before you do anything with your button save the frame here 
    ogButtonFrame = button.frame 
} 

func returnButtonToOriginalPosition(){ 
    button.frame = ogButtonFrame 
} 

順便說一句自動撥號和限制是你的朋友!使用它們