5

テーブルビューの右上隅と左上隅のみを丸めようとしています。以下のコードを使用していますが、左上の角が丸くなっているようです...

CAShapeLayer *topLayer = [CAShapeLayer layer];
UIBezierPath *roundedPath = 
[UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:UIRectCornerTopRight | UIRectCornerTopLeft cornerRadii:CGSizeMake(9.f, 9.0f)];    
topLayer.path = [roundedPath CGPath];
4

1 に答える 1

2

これがうまくいくことを願っています。マスクレイヤーを作成するための上部コーナーパスを見つけます

UIBezierPath *PathToMask;
PathToMask = [UIBezierPath bezierPathWithRoundedRect:self.testView.bounds
                                 byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight)
                                       cornerRadii:CGSizeMake(8.0, 8.0)];

UIBezierPathmaskPathを使用してシェイプレイヤーマスクを作成します

CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; 
maskLayer.frame =self.testView.bounds;
maskLayer.path = PathToMask.CGPath;

マスクレイヤーを設定するmaskLayer

self.testView.layer.mask = maskLayer;
于 2015-02-05T05:35:08.310 に答える