3个位置之间的平滑动画快速3

时间:2017-01-11 10:59:31

标签: swift swift3 uiviewanimation

仍然是我在swift和ios中的bignner

我正在构建我的逆境项目,但我遇到了一些动画问题,首先是我的代码:

    @IBAction func tab1(_ sender: Any) {

    UIView.animate(withDuration: 0.5, animations:{
        self.slider.center.x -= self.tab1.bounds.width
    })
}

@IBAction func tab2(_ sender: Any) {


    UIView.animate(withDuration: 0.5, animations:{
        self.slider.center.x += self.tab2.bounds.width
    })
}
@IBAction func tab3(_ sender: Any) {

    UIView.animate(withDuration: 0.5, animations:{
        self.slider.center.x += self.tab3.bounds.width
    })
}

你可以看到它的基本功能,并且有很多问题,例如tab1中的滑块和第3个滑块上的滑块是否会移动一步(到tab2),而不是用户需要按一次,+如果你是在tab2并按Tab2再次滑块再次移动,我的代码中的许多错误,我搜索解决方案,但没有运气。 我想调整它是动画来纠正地方并验证它,这意味着如果滑块在正确的位置,滑块将不会移动。 我希望从快速开发者那里找到一些帮助

pointer with tabs

1 个答案:

答案 0 :(得分:1)

您可以使用按钮框来计算x:

let tab = sender as! UIView
UIView.animate(withDuration: 0.5, animations:{
    self.slider.center.x = tab.frame.midX
})