UITableView中的圆角(iOS7)

问题描述:

在iOS7中,如何在UITableView中绘制单元格的圆角?看一个例子:UITableView中的圆角(iOS7)

enter image description here

+1

机会是这些细胞正在自定义绘制的,或者他们正在使用的图像。 http://www.cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html – NathanAldenSr

UITableview包含UIView,所以只需使用下面这行代码为使其圆角。 还写下面的代码行的实现代码如下方法

对于Objective-C的内部: -

cell.contentView.layer.cornerRadius = 5; 
    cell.contentView.layer.masksToBounds = YES; 

对于斯威夫特: -

cell.contentView.layer.cornerRadius = 5 
cell.contentView.layer.masksToBounds = true 

注: - 无需导入QuartzCore framework明确地在ios7。而且它只会在iOS7中工作,但在后续版本中不能保证。

+2

你的意思是cell.contentView而不是视图? –

+0

不知道在一年前使用'YES'是否真的有效,但现在至少它是'真实'而不是'是',尽管如此,这对我来说非常合适。 – TaylorAllred

+1

也许是因为我使用的是swift,我不知道,我知道的只是输入YES,没有为我工作,只好使用true。我也从来没有听说过使用YES或NO的任何代码,直到你发布文档页面,所以不管。想想我错过了obj-c标签,即使当我发现这个页面时,我正在google中快速输入。 – TaylorAllred

使用下...

[cell.contentView.layer setCornerRadius:7.0f]; 
[cell.contentView.layer setMasksToBounds:YES]; 

我子类的UITableViewCell,不得不离开了内容查看,使其工作。

cell.layer.cornerRadius = 10 cell.layer.maskToBounds = true

+0

我不知道为什么,但同样的东西工作 为什么cell.contentivew.layer.cornerRadius = 5;不工作? –

+0

你有没有继承UITableViewCell?我不再为iOS开发,但我认为这就是我最初需要这种解决方法的原因 –

+0

@AbhishekThapliyal如果单元格有不清晰的'cell.backgroundColor'或非清除单元格,'cell.contentview.layer.cornerRadius'就不够了。 backgroundView'这就是为什么隐藏用户名解决方案可能比Hussain Shabbir或Fahim Parkar更好的解决方案 –

试表视图委托

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    cell.layer.cornerRadius = 10; 
    cell.layer.masksToBounds = YES; 
} 
+1

您的解决方案比所有前端解决方案都要好! –