Icoder
Icoder

Reputation: 330

Rounded Corners only for the bottoms edges of UITableView

I'm using the below code to make rounded corners only for the bottom edges of tableView

CALayer *capa = self.patientTableView.layer;

//Round
CGRect bounds = capa.bounds;

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:bounds
                                               byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight)
                                                     cornerRadii:CGSizeMake(10.0, 10.0)];

CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = bounds;
maskLayer.path = maskPath.CGPath;

[capa addSublayer:maskLayer];
capa.mask = maskLayer;

This code works fine, but the tableview is not showing up the contents below its frame height (but it scrolls to its offset.y).

Upvotes: 2

Views: 342

Answers (1)

Rob
Rob

Reputation: 437792

You can fix this by putting the table view inside a UIView, and then apply the mask to that container view. That way the mask will not move with the contentOffset of the table view.

view hierarchy

Upvotes: 1

Related Questions