我有两个 UITextFields 并且想在单击按钮时交换它们的位置。也许也动画交换。

IE。:

textFieldOne 和 textFieldOne 使用界面生成器通过 AutoLayout 定位。

单击按钮时

  • 获取 textFieldOne 位置参数,
  • 获取 textFieldTwo 位置参数
  • 设置 textFieldOne 位置参数为 textFieldTwo,
  • 将 textFieldTwo 位置参数设置为 textFieldOne
  • 最佳答案

    要简单地交换 UITextField 的位置,您可以将它们的 origin 值相互分配。

    // Store textFieldOne's postition
    let tempPos : CGPoint = textFieldOne.frame.origin
    UIView.beginAnimations(nil, context: nil)
    // Set textFieldOne to textFieldTwo's position
    textFieldOne.frame.origin = textFieldTwo.frame.origin
    // Set textFieldTwo to textFieldOne's original position
    textFieldTwo.frame.origin = tempPos
    UIView.commitAnimations()
    

    或者,对于更 Swift 的处理方式,您可以使用 Tuple 来交换值,而无需任何临时变量。
    UIView.beginAnimations(nil, context: nil)
    (textFieldOne.frame.origin, textFieldTwo.frame.origin) = (textFieldTwo.frame.origin, textFieldOne.frame.origin)
    UIView.commitAnimations()
    

    关于ios - 如何在屏幕上交换文本字段的位置 - Swift,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30417992/

    10-13 09:08