仍然是我在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再次滑块再次移动,我的代码中的许多错误,我搜索解决方案,但没有运气。 我想调整它是动画来纠正地方并验证它,这意味着如果滑块在正确的位置,滑块将不会移动。 我希望从快速开发者那里找到一些帮助
答案 0 :(得分:1)
您可以使用按钮框来计算x:
let tab = sender as! UIView
UIView.animate(withDuration: 0.5, animations:{
self.slider.center.x = tab.frame.midX
})