首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在-[CALayer setNeedsDisplayInRect:]中禁用隐式动画

在-[CALayer setNeedsDisplayInRect:]中禁用隐式动画
EN

Stack Overflow用户
提问于 2010-02-11 19:44:23
回答 10查看 51.2K关注 0票数 141

我有一个层,在它的-drawInContext:方法中有一些复杂的绘图代码。我正在尝试最小化我需要做的绘图量,所以我使用-setNeedsDisplayInRect:来只更新修改过的部分。这工作得很好。然而,当图形系统更新我的图层时,它使用交叉淡入淡出从旧图像过渡到新图像。我希望它能立即切换。

我尝试过使用CATransaction关闭操作并将持续时间设置为零,但都不起作用。下面是我使用的代码:

代码语言:javascript
复制
[CATransaction begin];
[CATransaction setDisableActions: YES];
[self setNeedsDisplayInRect: rect];
[CATransaction commit];

在CATransaction上有没有不同的方法我应该用来代替(我也尝试了-setValue:forKey: with kCATransactionDisableActions,同样的结果)。

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

https://stackoverflow.com/questions/2244147

复制
相关文章

相似问题

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