首页 > 解决方案 > 单击按钮时的动画视图

问题描述

我连续有 4 个按钮。这些按钮的宽度为 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 中给出外观和感觉

标签: iosanimationuiviewuiviewanimation

解决方案


你可以试试

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

推荐阅读