如何格式化表格单元格有圆角?

时间:2011-04-08 07:21:38

标签: xcode uitableview xcode4

我想要表格单元格视图的圆角。所以我只是将背景设置为透明,但这会删除单元格的整个背景。

知道如何使用可视化编辑器吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

有一些方法可以实现这一目标:

  • 覆盖自定义tableViewCell类中的drawRect。这是手工绘制,非常讨厌;)我将在下面发布一个圆角背景的示例代码。

  • 在背景中放置一个imageView,并在单元格中添加带圆角的图片。 (背景当然是透明的)。透明背景的问题在于性能。

带圆角的背景的示例代码

float radius = 10.0;

CGContextRef context = UIGraphicsGetCurrentContext();   
rect = CGRectInset(rect, 1.0f, 1.0f);

CGContextBeginPath(context);
CGContextSetGrayFillColor(context, 0.0, 0.8);
CGContextMoveToPoint(context, CGRectGetMinX(rect) + radius, CGRectGetMinY(rect));
CGContextAddArc(context, CGRectGetMaxX(rect) - radius, CGRectGetMinY(rect) + radius, radius, 3 * M_PI / 2, 0, 0);
CGContextAddArc(context, CGRectGetMaxX(rect) - radius, CGRectGetMaxY(rect) - radius, radius, 0, M_PI / 2, 0);
CGContextAddArc(context, CGRectGetMinX(rect) + radius, CGRectGetMaxY(rect) - radius, radius, M_PI / 2, M_PI, 0);
CGContextAddArc(context, CGRectGetMinX(rect) + radius, CGRectGetMinY(rect) + radius, radius, M_PI, 3 * M_PI / 2, 0);

CGContextClosePath(context);
CGContextFillPath(context);