单击按钮时动画视图

时间:2018-08-28 14:04:51

标签: ios animation uiview uiviewanimation

我连续有四个按钮。这些按钮的宽度为1:4,在水平位置彼此相邻。

按钮的排列方式与设计

|Btn1|Btn2|Btn3|Btn4|

现在我有一个视图,它在视图控制器启动时位于Btn4的正下方。现在我想要当用户单击Btn1时,在Btn1下方的“视图”动画,如果用户单击Btn3,则它应该移动到那里。

我知道以下代码可以做些事情

let animator = UIViewPropertyAnimator(duration: 1, curve: .easeOut, animations: {
        self.viewIndicators.transform = CGAffineTransform(translationX: xValue , y: 0)

    })
    animator.startAnimation(afterDelay: 0.400)
在上面的代码中,

我真的不知道会有什么价值。我尝试传递按下的按钮frame.x值。但这对我没有用。视图进行了动画处理,但位置错误。

任何人都可以帮助我。

注意:要进行动画处理的视图的宽度与行上每个按钮的宽度相等。我只想在android TabLayout中提供外观

1 个答案:

答案 0 :(得分:1)

您可以尝试

@IBAction func btnClicked(_ sender:UIButton) {
   UIView.animate(withDuration: 0.25, animations: {
       self.viewIndicators.frame = sender.frame.offsetBy(dx:0,dy:20)
   })
}