iOS设置两个视图的动画,堆叠在彼此的顶部

iOS设置两个视图的动画,堆叠在彼此的顶部,ios,swift,xcode,animation,uiview,Ios,Swift,Xcode,Animation,Uiview,我在设置两个视图的动画时遇到问题 我有两个按钮,将从底部向上滑动不同的视图 我想做的是: 我正在制作RegisterView动画,如下所示: class ViewController: UIViewController { @IBOutlet weak var registerViewHeight: NSLayoutConstraint! @IBOutlet weak var registerView: UIView! @IBOutlet weak var registerViewBotto

我在设置两个视图的动画时遇到问题

我有两个按钮,将从底部向上滑动不同的视图

我想做的是:

我正在制作
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()
        })

    }
第一:如何正确地将堆栈提升视图添加到彼此的顶部? 第二:有没有一种方法可以轻松地将按钮转换为视图


非常感谢:)

您可以像这样设置视图的动画[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) {

                 }];