加载 View 时,我在 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)
}
最佳答案
我会创建一个 @IBOutlet
到一个 NSLayoutConstraint
,它将按钮的中心链接到文本字段的中心。在 Interface Builder 中,您可以随意设置两个对象之间的初始距离。在您的操作(或委托(delegate)方法)中,您只需更改约束的 constant
。
distanceConstraint.constant = 0
UIView.animateWithDuration(0.3) { self.view.layoutIfNeeded() }
同样,当你想再次显示按钮时,将常量设置回原来的距离。
关于ios - 如何将按钮从一个位置移动到另一个位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34983460/