我需要让Uibutton飞入屏幕



我有一个屏幕上的Uibutton,并有约束。(未居中(。我只需要执行一些动画,这些动画将在屏幕外启动,看不见,然后滑入。一个按钮从左到右滑动,另一个按钮从右向左滑动。他们也需要能够从屏幕上滑动。

我尝试使用button.frame.origin.x = 0-按钮及其宽度。我认为这确实加载了,它准确地留在原处。我的计划是保存其原始中心,然后动画以滑入我保存的原始中心。好吧,这些都没有起作用。

我所有的方法都没有起作用,所以我只是删除了它,我正在寻找有人从头开始向我展示他们将如何做到这一点。关于CGPONT,中心以及我需要阅读的任何相关内容以掌握这项技术的任何材料也将不胜感激。

也请把所有东西都放在迅速中。

谢谢!

我有一个"工具板"类,上面有滑块和按钮。它在逻辑上是"连接"到"工具栏"上的。当您在栏上点击一个按钮时,木板会动画"滑动"。

将我的约束适应您的需求,这是我要做的。

(1(设置0的宽度约束,以不显示按钮。

let myButton = UIButton()
let myConstraint = myButton.widthAnchor.constraint(equalToConstant: 0)
myConstraint.isActive = true

(2(然后,当您想在屏幕上移动它时,重置宽度并进行动画:

myConstraint.constant = 100
UIView.animate(withDuration: 0.3) { self.superview?.layoutIfNeeded() }

当然,您需要声明的其他约束,并且此约束需要比这些限制更广泛。例如,如果您希望事物在屏幕外,它的来源可以是cgpoint.zero或其他任何内容,但这是您定义的最终位置。关键点是(a(更改约束,尝试不是替换它们,然后(b(动画更改。

最新更新