使用 Snpkit 为这两个控件设置动画。结果,一个控件执行动画,而另一个不移动

Posted

技术标签:

【中文标题】使用 Snpkit 为这两个控件设置动画。结果,一个控件执行动画,而另一个不移动【英文标题】:Use Snpkit to animate the two controls. As a result, one control executes the animation, and the other one do not move 【发布时间】:2020-02-28 10:14:31 【问题描述】:

我列出了重要的代码,我省略了其他不相关的

extension OpenVIPSearchInputView
    func showSearchBtn()
        UIView.animate(withDuration: 1) 
            self.proviceButton.snp.updateConstraints 
                $0.leading.equalTo(self).offset(50)
            
            self.searchButton.snp.updateConstraints 
                $0.trailing.equalTo(self).offset(-200)
            
            self.layoutIfNeeded()
        
    

extension OpenVIPSearchInputView: UITextFieldDelegate 
    func textFieldDidBeginEditing(_ textField: UITextField) 
        showSearchBtn()
    


我自定义了这个控件,并希望为其中的按钮设置动画。我更新了两个约束,但是在追逐之后只有一个按钮被动画化了。我很困惑,我不知道发生了什么。

【问题讨论】:

【参考方案1】:

尝试将每个动作分开 UIView.animate(withDuration: 1)

【讨论】:

我没有理由为此使用 self.layoutIfNeeded()

以上是关于使用 Snpkit 为这两个控件设置动画。结果,一个控件执行动画,而另一个不移动的主要内容,如果未能解决你的问题,请参考以下文章

005 MFC 选卡控件TabCtrl 动画控件Animate

XAML 动画:如何使用 BLEND 为用户控件的外观和消失设置动画

android动画,translateanimation,是不是可以实现让两个控件流畅的执行同一动画?

使用 CAKeyframeAnimation 在 Scenekit 中为旋转节点设置动画

猎豹MFC--图片控件CStatic和动画控件CAnimateCtrl

android下,如何实现动画效果那样修改控件的宽高?