加载视图时,我在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)
}
答案 0 :(得分:1)
我会创建@IBOutlet
到NSLayoutConstraint
,将按钮的中心链接到文本字段的中心。在Interface Builder中,您可以根据需要设置两个对象之间的初始距离。在您的操作(或委托方法)中,您只需更改约束的constant
即可。
distanceConstraint.constant = 0
UIView.animateWithDuration(0.3) { self.view.layoutIfNeeded() }
同样,当您想再次显示按钮时,将常量设置回原始距离。