我必须创建自己的UITableView剖面标题视图,顶部有一个边框,底部有一个背景颜色。
我的问题是,实现这一目标的最佳(或最正确)方法是什么?
谢谢! (对不起我的英文)
答案 0 :(得分:1)
最简单的方法是使用CALayers。为视图提供所需的背景颜色,并添加两个图层作为边框。假设您想要单像素边框,则示例(黑色边框,白色背景)将为:
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 24)];
headerView.backgroundCoor = [UIColor whiteColor];
CALayer *topLine = [CALayer layer];
topLine.frame = CGRectMake(0, 0, 320, 1);
topLine.backgroundColor = [UIColor blackColor].CGColor;
[headerView.layer addSublayer:topLine];
// repeat for bottom line
另一种方法是在视图图层上使用borderColor / borderWidth属性,但是您需要执行一些技巧(遮盖或调整视图太宽)以隐藏边框。
图层非常强大,您可以轻松添加渐变,形状和蒙版,而无需弄乱CG绘图。
答案 1 :(得分:0)
如果你需要的只是边框和背景颜色,那么绘制它们肯定是要走的路。如果您将它们与图像进行绘制,性能会更好。尽管UIImages
在iPhone中得到了高度优化,但自定义绘图仍可提供更好的性能。