作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这让我发疯。每当我更改CATextLayer.foregroundColor
属性的值时,无论我做什么,该更改都是动画的。例如,我有一个称为CATextLayer
的layer
,它是CALayer
的子层superlayer
:
layer.removeAllAnimations()
superlayer.removeAllAnimations()
superlayer.actions = ["sublayers" : NSNull()]
CATransaction.begin()
CATransaction.setAnimationDuration(0)
CATransaction.disableActions()
CATransaction.setValue(kCFBooleanTrue, forKey:kCATransactionDisableActions)
layer.actions = ["foregroundColor" : NSNull()]
layer.actions = ["content" : NSNull()]
layer.foregroundColor = layoutTheme.textColor.CGColor
CATransaction.commit()
最佳答案
问题是CATransaction.disableActions()
不会执行您认为的操作。您需要说CATransaction.setDisableActions(true)
。
然后,您可以摆脱您在说的所有其他内容,因为这毫无意义。仅此代码就足以改变颜色而无需动画:
CATransaction.setDisableActions(true)
layer.foregroundColor = UIColor.redColor().CGColor // or whatever
begin()
/
commit()
块中,但是不需要关闭隐式图层属性动画。)
关于ios - CATextLayer-如何禁用隐式动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29423689/
我是一名优秀的程序员,十分优秀!