首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何防止CALayer中的隐式动画?

如何防止CALayer中的隐式动画?
EN

Stack Overflow用户
提问于 2010-10-08 01:33:52
回答 7查看 8.1K关注 0票数 18

当我设置CALayer实例的backgroundColor属性时,更改似乎有点动画效果。但我不想在我的情况下那样。没有动画的情况下如何设置backgroundColor

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-10-08 01:38:45

您可以将更改包装在禁用动画的CATransaction中:

代码语言:javascript
运行
复制
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
//change background colour
[CATransaction commit];
票数 34
EN

Stack Overflow用户

发布于 2015-03-24 19:57:35

目标C:

代码语言:javascript
运行
复制
[CATransaction begin];
[CATransaction setDisableActions:YES];
// your code here        
[CATransaction commit];

Swift:

代码语言:javascript
运行
复制
CATransaction.begin()
CATransaction.setDisableActions(true)

// your code here        
CATransaction.commit()
票数 13
EN

Stack Overflow用户

发布于 2016-01-22 16:04:21

Swift

这里已经有几个其他的Swift答案,但我认为这是最基本的答案:

代码语言:javascript
运行
复制
CATransaction.begin()
CATransaction.setDisableActions(true)

// change the layer's background color

CATransaction.commit()
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3884242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档