如何将按钮从一个位置移动到另一个位置?

时间:2016-01-25 00:40:26

标签: ios swift

加载视图时,我在x位置有一个按钮,当单击按钮时,我希望按钮在文本字段下方。我不想使用像(1,2)这样的静态点,而是想要使用文本字段的位置,并相对于该文本字段向上或向下移动按钮。任何帮助表示赞赏。

  @IBOutlet weak var name: UITextField!
  @IBOutlet weak var log: UIButton!
  name.addTarget(self, action: "name:", forControlEvents: UIControlEvents.EditingDidBegin)

单击文本字段时,我希望按钮移动到名称文本字段下方。目前,单击文本字段时没有任何反应。

  func name(sender: UITextField){
  var y: Int = Int(name.frame.origin.y)
  var x: Int = Int(name.frame.origin.x)
  log.frame = CGRect(x: x, y: y - 50, width: 157, height: 40)
}

1 个答案:

答案 0 :(得分:1)

我会创建@IBOutletNSLayoutConstraint,将按钮的中心链接到文本字段的中心。在Interface Builder中,您可以根据需要设置两个对象之间的初始距离。在您的操作(或委托方法)中,您只需更改约束的constant即可。

distanceConstraint.constant = 0
UIView.animateWithDuration(0.3) { self.view.layoutIfNeeded() }

同样,当您想再次显示按钮时,将常量设置回原始距离。