【发布时间】:2012-05-11 22:29:39
【问题描述】:
我最近看到了一篇关于使用 UITableViewCells 提高滚动性能的精彩文章:http://engineering.twitter.com/2012/02/simple-strategies-for-smooth-animation.html -- 虽然在这篇文章中可以找到许多很棒的技巧,但有一个特别让我感兴趣:
Twitter for iPhone 4.0 中的推文在微妙的纹理背景之上有一个投影。这提出了一个挑战,因为混合成本很高。 我们通过将阴影区域与单元格的内容区域分开来减少核心动画必须考虑不透明的区域来解决这个问题。
使用 iOS 模拟器,点击 Debug - Color Blended Layers 会显示如下内容:
用红色标记的区域是混合的,绿色区域是不透明的。伟大的。这篇文章没有提到的是:我该如何实现这个?我的理解是 UIView 要么不透明,要么不透明。在我看来,实现这一点的唯一方法是使用子视图,但文章明确指出这是一个幼稚的实现:
相反,我们的推文单元格包含一个没有子视图的视图;一个drawRect:绘制一切。
那么我该如何区分不透明的部分,以及我的单个 drawRect: 方法中不包含的部分?
【问题讨论】:
-
向他们发送电子邮件或推文,提出问题:p 在您得到答案时向 SO 报告 :)
-
通过 Twitter 与他们联系:bit.ly/LK7lvs -- 希望我们能得到正确的答案:)
-
@nick 你收到回复了吗?我真的很感兴趣。这是一个很棒的问题,我很想知道是否有办法让视图的一部分变得透明。
-
很遗憾我没有。
标签: ios uitableview core-graphics