2011-10-31 71 views
2

我製作了自定義的uiTableViewCell並使用它像屏幕截圖一樣使用了UITableview。 問題是組表上的第一個和最後一個單元的圓角。 enter image description hereUITableViewCell組合表的第一個和最後一個單元格的圓角

如何使拳頭和最後一個單元格圓角

+0

[如何自定義分組表視圖的背景/邊框顏色?](http://stackoverflow.com/questions/400965/how-to-customize-the-background-border-colors-of -a-grouped-table-view) – rckoenes

+0

請在發佈查詢之前徹底搜索StackOverflow。有這麼多的問題。 – Legolas

+0

我已閱讀它,但我不解決它從我的問題發生從UITableViewCell和組表。 – dobiho

回答

0

關鍵是要設置

view.layer.cornerRadius = 10; 

看看這個示例項目上this link!

+2

這回合視圖的所有角落,而只有一個必須被舍入 –

0

嘗試設置單元格的背景顏色clearColor:您的表格似乎有圓角,但您的單元格正在覆蓋它。另一種替代解決方案可能是更改表格背後的視圖屬性。嘗試:

backgroundView.clipsToBounds = YES; 

tableView.layer.cornerRadius = 5; 
tableView.layer.masksToBounds = YES; 

您可能需要

#import <QuartzCore/QuartzCore.h> 
3

添加的tableView的財產你的,並設置它在你的控制器:

@property (nonatomic, weak) UITableView *tableView; 

然後你可以像這樣實現它:

- (void)layoutSubviews { 
    [super layoutSubviews]; 

    UIRectCorner rectCorner; 
    BOOL roundCorners = YES; 
    NSIndexPath *indexPath = [self.tableView indexPathForCell:self]; 
    NSInteger numberOfRows = [self.tableView numberOfRowsInSection:indexPath.section]; 

    if (numberOfRows == 1) { // single cell 
     rectCorner = UIRectCornerAllCorners; 
    } else if (indexPath.row == numberOfRows - 1) { // bottom cell 
     rectCorner = UIRectCornerBottomLeft | UIRectCornerBottomRight; 
    } if (indexPath.row == 0) { // top cell 
     rectCorner = UIRectCornerTopLeft | UIRectCornerTopRight; 
    } else { 
     roundCorners = NO; 
    } 

    if (roundCorners) { 

     CGFloat cornerRadius = 10.0; 
     UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds 
                 byRoundingCorners:rectCorner 
                  cornerRadii:CGSizeMake(cornerRadius, cornerRadius)]; 
     CAShapeLayer *maskLayer = [CAShapeLayer layer]; 
     maskLayer.frame = self.bounds; 
     maskLayer.path = maskPath.CGPath; 
     self.layer.mask = maskLayer; 
    } 
} 

您可避免通過檢查self.superview.superview(iOS7,self.superview之前),其上的屬性tableView,但我認爲這是一個更清潔,不易出錯的方式。

相關問題