2016-07-06 142 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 
} 

顺便说一句自动拨号和限制是你的朋友!使用它们