Swift,iOS - 单击时按钮会向上移动以显示文本字段?然后回去?

时间:2016-06-06 21:32:43

标签: ios swift

我知道如何在sprite kit之类的东西中实现这一点,但只有一个普通的ViewController,我有点迷失 - 现在我的按钮和我的UITextfield设置在我的xib文件上。现在,当单击按钮时,我的文本字段从隐藏变为非,这很好。

问题是我需要让我的按钮向上滑动(如在动画中一样)以显示"显示"单击时的文本字段。因为文本字段位于按钮下方。单击另一个按钮时,我希望按钮向下滑动到其原始位置。我不知道如何实现这些动画。

以下是我需要的图片:

enter image description here

所以蓝色按钮会在点击时触发向上移动。然后,如果按下另一个按钮,蓝色按钮将移回文本字段上的原始位置。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您未在UITableView中显示这些内容,可以尝试以下选项:

  1. 使用扩展的'中的所有可能视图设置.xib。州。提供将显示高度约束的视图(除了正确布局视图所需的其他视图),然后在视图控制器中为这些高度约束创建插座。此外,存储对视图扩展高度在视图控制器中的内容的引用。
  2. 在视图控制器的viewDidLoad中,您将设置这些高度限制' constant值为0.这将导致这些视图有效消失,而您的其他视图应根据其约束填补它们留下的空白。
  3. 当您按下其中一个按钮时,如果您希望隐藏这些视图的高度约束为0,则可以更新哪些视图应该是可见的,或者如果您希望它们显示,则更新您之前保存的值。更新高度后,请致电

    UIView.animateWithDuration(howLongTheAnimationLasts) {
        self.view.layoutIfNeeded()
    }
    

    应该为高度值的变化设置动画。

  4. 或者,您可以尝试将选项放在UITableView中并使用tableView:heightForRowAtIndexPath:更改其高度,并在其高度发生变化时重新加载单元格。