iphone – 我如何添加一个阴影到分组的UITableView(如在官方的twitter应用程序中看到的)?

我有一个标准的分组表视图。我想在它周围添加一个阴影(即围绕每个tableview部分的边缘) – 如果你不确定我的意思,然后看到官方的twitter应用程序(下面)为例子。这是非常微妙的,但它绝对是一个阴影,而不是边界。

我如何实现这种效果

保存为使用图像与内置阴影作为每个单元格的背景 – 这将不允许动画单元格调整大小像我需要 – 我还没有想出一种方法

解决方法

我需要这种效果在我自己的应用程序的一天。这实际上很容易实现通过只使用CALayer阴影属性结合CALayer掩码。我把一个简单的示例项目放在Github:

https://github.com/schluete/GroupedTableViewWithShadows

效果在UITableViewCell类别UITableViewCell+CellShadows.m中实现。

第一步是创建一个阴影矩形。根据单元格在部分(顶部,中间,底部)中的位置放大矩形,以防止在错误的角落(线18-23)中看到圆角。然后将阴影添加到单元格的背景视图(第35-41行)。

现在有一个很好的阴影效果,但第一个单元格的阴影“出血”进入第二个单元格。为了防止出血,只需添加一个图层蒙版,以切断阴影的所有不必要的部分(第25-32和43-46行)。就是这样,我们有了我们的影子!

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...