我想让UITableView
看上去很像是它的样式为,但有一些细微差别(如不同的颜色和圆角较短的半径)。行具有可变的高度。我想为我的应用程序中的大多数表格视图控制器使用此自定义样式。查看Twitter,Groupon,& GitHub发布示例应用程序。自定义UITableViewCell backgroundView和selectedBackgroundView
我该怎么做?
我想这样做像做的。 套backgroundView
& selectedBackgroundView
既能的UIGroupTableViewCellBackground
实例(的UIView
的子类)。 UIGroupTableViewCellBackground
是其层的委托并实现drawLayer:
其层中的内容设定为CGImageRef
。
我敢肯定苹果根据Quartz 2D Programming Guide : Creating a Bitmap Graphics Context,也建议使用
CGLayer
考虑,而不是绘制成位图图形上下文创建此CGImageRef
。这对于这个应用程序更好?另外,表视图的所述第一小区添加阴影带倒圆的角部,以使用
UIImageView
其顶部(它它设置为一个可调整大小(宽度方向)UIImage
具有半透明PNG文件)。为什么它去做?这不是很慢的滚动吗?为什么不把它画到第一个单元的CGImageRef
?也许性能下降并不显着,并且通过图像更容易使单元看起来正确。我将单元格的CGImageRef
保存到磁盘并使用预览将其打开。它仍然有圆角。此叠加视图只是添加顶部阴影。下面是运行我的设备与选定的表视图“颜色混合层”的核芯显卡仪器工具的屏幕截图。你可以看到顶部的影子是混合的。而且,看起来最后一个单元格中还有一些混合。
在选中第三小区(不混合)。选择第一个或最后一个单元格的行为相同,但不会摆脱已混合的重叠视图。