2013-05-20 30 views
2

enter image description here的UITableViewCell clipsToBound不工作

在我的自定義單元格我已經寫了[self setClipsToBound : YES],然後將這些紅色imageViews作爲其子視圖[self addSubview:imageView]

但你可以看到ImageView的是沒有得到剪裁。

我搜索了,但沒有找到任何成功!

+0

你可以在哪個圖層上創建圓角的代碼? –

+0

你使用了分組tableView嗎? –

+0

我正在使用UITableViewStyleGrouped @MarkM是的! –

回答

1

是的,問題是你的分組的tableView,是非常直觀的一個分組表視圖細胞具有相同的寬度作爲一個正常的表視圖的事實,唯一不同的是,分組表視圖有不同的細胞背景(也用於選定狀態)以及由單元格標籤的不同位置創建的單元格內容的邊距。

您應該創建右上角和右下角四捨五入的資產(對於第一個單元格和最後一個單元格)。 clipSubview不適用於您的情況,因爲imageView沒有豐富的單元格內容。

+0

或者您可以使用分組的單元格並讓它們爲您自動創建頂部,中部和底部的圓角單元格,並使用我發佈的解決方案。 –

1

使用以下代碼將圖像添加到分組單元格的背景中。

UIImageView *imgView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, yourCell.frame.size.width, 80)]; // Modify this for your cell 
imgView.contentMode = UIViewContentModeScaleAspectFit; 
cell.backgroundColor = [UIColor colorWithPatternImage:imgView.image]; 
+0

說明:clipsToBounds是UIView上的一種方法,涉及矩形區域。圓角在底層CALayer級別處理,是一個「掩碼」。可以在圓角圖層上設置適當的蒙版以獲得所需的剪裁,背景屬性默認會執行此操作(特別是在角落舍入代碼對您隱藏的情況下)。 –

相關問題