2016-07-06 32 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メソッドからビューを初期化しています。ボタンにはNOの制約が設定されています。

答えて

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 
} 

BTW Autolayoutと制約はあなたの友人です!それらを使用する

関連する問題