我必须创建我自己的UITableView的区段标题视图,在顶部、底部和背景色上有一个边框。
我的问题是,实现这一目标的最佳(或最正确)方法是什么?
谢谢!(我的英语很抱歉)
发布于 2012-01-23 13:09:39
如果你只需要边框和背景色,那么画它们肯定是可行的。如果您将它们与图像相比较,性能将更好。虽然UIImages在iPhone中进行了高度优化,但自定义绘图仍将提供更好的性能。
发布于 2012-01-23 14:08:52
最简单的方法可能是使用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另一种方法是在视图层上使用边框颜色/边框属性,但是您需要执行一些技巧(掩盖或调整视图太宽)来隐藏边框。
图层非常强大,您可以轻松地添加渐变、形状和掩膜,而不需要乱搞CG绘图。
https://stackoverflow.com/questions/8972078
复制相似问题