swift - 我需要一个 UIButton 飞入屏幕

标签 swift animation uibutton constraints

我有一个 UIButton,它位于我的屏幕上,但有限制。 (不居中)。我只需要执行一些动画即可在屏幕外启动它,看不见,然后让它滑入。一个按钮从左向右滑动,另一个按钮从右向左滑动。他们还需要能够滑出屏幕。

我试过使用 button.frame.origin.x = 0 - 按钮及其宽度。我认为确实加载了并且它保持在原来的位置。我的计划是保存其原始中心,然后制作动画以滑入我保存的原始中心。好吧,这些都不起作用。

我所有的方法都没有用,所以我把它删除了,我正在找人请从头开始向我展示他们将如何做这件事。任何关于 cgpoints、中心和任何我需要阅读以掌握此技术的相关 Material 也将非常感激。

另外请保持一切 swift 。

谢谢!

最佳答案

我有一个带有 slider 和按钮的“工具板”类。它在逻辑上“附加”到“工具栏”。当您点击栏上的按钮时,面板会动画地“滑出”。

根据您的需求调整我的约束,这就是我要做的。

(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) 动画更改。

关于swift - 我需要一个 UIButton 飞入屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43622290/

相关文章:

ios - Swift if let 语句导致 <<error type>> 而不是自定义对象

swift - 创建自己的字符集会导致崩溃

Android ViewPropertyAnimator 不会同时缩放

python - Matplotlib 无法保存动画

javascript - Swift - 在 WKWebView 中使用 CSS 和 JS 文件

ios - 带搜索栏跳转的导航 Controller

css - 为什么我的动画不能正确重复?

ios - 使用 webViewDidFinishLoad 启用/禁用按钮

iphone - 当我将图像放入按钮时,为什么 UIButton.titleLabel.text 会消失?

ios - 如何以编程方式将 UIButton 添加到 UIToolBar?