单击按钮时的动画视图

Animate view when button is clicked

我一排有 4 个按钮。这些按钮的宽度为 1:4,并且在水平位置上彼此相邻。

按钮的排列与设计一致

|Btn1|Btn2|Btn3|Btn4|

现在我有一个视图,它位于视图控制器启动时 Btn4 的正下方。现在我希望当用户单击 Btn1 时,View 会在 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 值。但这对我不起作用。 View 确实有动画但位置错误。

谁能帮帮我。

注意: 动画视图的宽度与行中每个按钮的宽度相同。我只想提供 android TabLayout

中的外观和感觉

你可以试试

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