首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IOS -将阴影边框添加到图像会使其变得笨重且无响应

IOS -将阴影边框添加到图像会使其变得笨重且无响应
EN

Stack Overflow用户
提问于 2012-05-27 01:01:09
回答 2查看 435关注 0票数 1

我正在开发一个iPad应用程序。在我的应用程序中,用户可以移动、旋转和缩放图像。我注意到,当我给图像添加一个3d阴影边框时,它会使它们变得非常笨重和反应迟钝。我使用以下代码添加边框:

代码语言:javascript
运行
复制
self.layer.MasksToBounds = false;
self.layer.ShadowColor = [[UIColor alloc] initWithRed:0 green:0 blue:0 alpha:0.5].CGColor;
self.layer.ShadowOpacity = 1.0f;
self.layer.ShadowOffset = CGSizeMake(0, 2.5f);

这一切为什么要发生?我有什么办法来解决这个问题呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-27 01:05:07

这是CALayer阴影的一个众所周知的问题。同时设置shadowPath属性,您将看到良好的性能提升。

阴影路径可以只是图像视图边界的路径。你应该只需要设置一次,当你的图像缩放时,图层转换会保持它的最新状态。

票数 3
EN

Stack Overflow用户

发布于 2012-05-27 05:24:20

您还应该设置

代码语言:javascript
运行
复制
self.layer.ShouldRasterize = YES

这将对图层进行光栅化。如果设置为NO (默认),所有应用到图层上的滤镜和阴影都会被重新计算几次,这会耗费相当多的性能。尤其是在滚动视图或表视图中。

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

https://stackoverflow.com/questions/10768206

复制
相关文章

相似问题

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