iOS 动画两个 View ,彼此堆叠

标签 ios swift xcode animation uiview

我在为两个 View 设置动画时遇到问题!

我有两个按钮,它们将从底部向上滑动不同的 View 。

我想做的事情是:

screenshot

我正在像这样设置 RegisterView 动画:

class ViewController: UIViewController {

@IBOutlet weak var registerViewHeight: NSLayoutConstraint!
@IBOutlet weak var registerView: UIView!
@IBOutlet weak var registerViewBottomContraint: NSLayoutConstraint!

override func viewDidLoad() {
        super.viewDidLoad()

        self.registerViewBottomContraint.constant = -registerViewHeight.constant

    }

@IBAction func registerButtonPressed(_ sender: AnyObject) {
        self.registerViewBottomContraint.constant = 0
        UIView.animate(withDuration: 0.4, animations: {
            self.view.layoutIfNeeded()
        })

    }

第一:如何正确地将堆叠 View 添加到彼此之上? 第二:有没有办法轻松地从按钮到 View 的转换?

非常感谢:)

最佳答案

您可以像这样为 View 设置动画 [Objective-C]:

CGRect viewFrame = self.registerView.frame;
self.registerView.frame = CGRectMake(viewFrame.origin.x, viewFrame.origin.y + viewFrame.size.height, viewFrame.size.width, viewFrame.size.height);
self.registerView.alpha = 0.0;

[UIView animateWithDuration:ANIMATION_DURATION
                      delay:0
                    options:UIViewAnimationOptionCurveEaseOut
                 animations:^{
                     self. registerView.frame = viewFrame;
                     self. registerView.alpha = 1.0;
                 }
                 completion:^(BOOL finished) {

                 }];

关于iOS 动画两个 View ,彼此堆叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42999568/

相关文章:

swift - 如何使用 Swift 编写一个接受函数 f 和 float x 并将 f 应用于 x k 次的函数?

ios - NSNumber 类型的托管属性?没有初始化为 nil

iphone - 如何在 Xcode 中使用带有嵌套静态库的调试器?

ios - 仅记录我在 Xcode 中打印的内容

ios - 在 Swift 中将日期从 GMT+1 转换为 UTC 时出现混淆

iphone - 我可以在不注册开发人员计划的情况下实现推送通知吗?

ios - iOS chrome 中白页的 FB 重定向问题

ios - 信标区域监控延迟且随机无法正常工作。(Android 工作正常)

ios - UICollectionViewCell 不出现

ios - Xcode 9.2 + 构建失败 : Invalid bitcode signature