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

标签 ios swift

加载 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/

相关文章:

ios - 在 iOS 上使用 TestFlight 进行应用内更新

ios - 我想打印 soap 对我的 TableViewController 的响应

swift - 用于显示来自 Firebase 的子值计数的 UIButton 标签

ios - 从 Swift 3 中的数组中删除对象

ios - 如何验证 Ios 服务器到服务器通知

ios - AVCapture 任意形状镜头

swift - xcode 6 无法使用类型为 'stringFromDate' 的参数列表调用 '(NSData)'

arrays - 具有自定义数据数组的函数

iphone - 在 iOS 上创建类似于饼图的东西

ios - 如何使用 InteractionManager.runAfterInteractions 使导航器转换更快