2013-07-13 79 views
0

選中時更改單元格的高亮顏色時,圍繞表格頂部和底部繪製的框不再在表格邊框內剪切。ios單元格高亮顯示顏色剪輯面板

我曾嘗試clipsToBounds與tableView和單元格,但沒有運氣。

任何解決方案?

謝謝!問題>

enter image description here

+0

你是怎麼更改單元格的高亮顏色? –

+0

可以通過使用圖層的setMasksToBounds屬性來修復它。 –

回答

1

我有一個想法如何使你需要的效果工作,可能不是最好的方法,但你可以嘗試。

首先檢查單元格是否是最後一個單元格;如果是這樣:

UIBezierPath *lastCellMask; 
lastCellMask = [UIBezierPath bezierPathWithRoundedRect:cell.bounds byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadii:CGSizeMake(3.0, 3.0)]; 

CAShapeLayer *cellMaskLayer = [[CAShapeLayer alloc] init]; 
cellMaskLayer.frame = cell.bounds; 
cellMaskLayer.path = lastCellMask.CGPath; 
cell.layer.mask = cellMaskLayer; 

,做的第一個單元格

這個工作對我來說相反,檢查是否這可以幫助ü

+0

嗯......它說構建失敗,鏈接器錯誤 –

+0

嘿,你知道我需要包括哪個頭?它給我2個Mach-O鏈接器錯誤。到目前爲止,我只有QuartzCore包含 –

+0

謝謝!_______________(需要下劃線,因爲stackoverflow討厭我) –

0

看圖像的

形象,嘗試

[cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 
+0

沒有。它給了我,而不是> http://imageshack.us/a/img841/1007/cdv.png –

0

的問題是,你正在使用grouped風格爲你的表視圖。分組表格視圖沒有您在UI中看到的頁邊距,並且使用clipToBounds將無濟於事,因爲單元格邊界與您在選擇單元格時看到的完全一致。你可以做的是使用你的單元格的cornerRadius圖層屬性(只有該部分中的第一個和最後一個單元格)以便圍繞角落並創建所需的結果。

相關問題