Cross-Dissolve 过渡会立即改变 - Swift 3.0

Max*_*tge 3 uiviewanimation uiviewanimationtransition swift swift3

我正在尝试使用交叉溶解动画更改按钮背景的颜色,但是,每当我运行它时,它会立即更改颜色而不是平滑过渡。

UIView.transition(with: self.SignIn,
                  duration:3,
                  options: UIViewAnimationOptions.transitionCrossDissolve,
                  animations: { self.SignIn.backgroundColor? = UIColor(hexaString: "#" + hex) },
                  completion: nil)
Run Code Online (Sandbox Code Playgroud)

Nir*_*v D 6

相反,设定backgroundColoranimations块我都认为之前设置它transition,然后开始transition看,它会很好地工作。

self.btnAnimate.backgroundColor = UIColor.red
UIView.transition(with: self.btnAnimate,
                  duration: 3,
                  options: .transitionCrossDissolve,
                  animations: nil,
                  completion: nil)
Run Code Online (Sandbox Code Playgroud)

输出

在此处输入图片说明

注意:我已经设置了red颜色,backgroundColor你可以设置任何你想要的颜色。