如何移动UIButtons?

时间:2015-09-28 11:27:33

标签: ios uibutton swift2

按下时如何移动按钮?

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    if let touch = touches.first { 
        location = touch.locationInView(self.view)
        Button.center = location 
    } 
    super.touchesBegan(touches, withEvent:event) 
} 
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    if let touch = touches.first { 
        location = touch.locationInView(self.view) 
        Button.center = location 
    } 
    super.touchesMoved(touches, withEvent:event)
}

按钮不动。

1 个答案:

答案 0 :(得分:0)

如果您使用AutoLayout放置按钮,则必须更新确定按钮位置的约束。

这通常是通过将约束作为RoomID公开给您的视图并修改其IBOutlet属性(实际上并不是常量)来完成的。

您需要两个约束:

  • constant
  • 左侧的水平距离
  • UIView
  • 顶部的垂直距离

e.g。

UIView

如果您没有使用AutoLayout(即您正在使用自动调整大小/弹簧和struts),那么您的上述代码应该可以正常工作。因此,您可以尝试在视图的xib中关闭AutoLayout。