私は、私のUITableViewの頂点だけに丸みのついたコーナーを追加しようとしていますが、問題は、下のコードでは、私の全体のUITableView上に黒いレイヤーを作成しています。どうすればこの問題を解決できますか?UITableViewの一番上に丸い角を追加する?
//Rounded Corners for top corners of UITableView
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:thetableView.bounds
byRoundingCorners:UIRectCornerTopLeft
cornerRadii:CGSizeMake(10.0, 10.0)];
UIBezierPath *maskPath2 = [UIBezierPath bezierPathWithRoundedRect:thetableView.bounds
byRoundingCorners:UIRectCornerTopRight
cornerRadii:CGSizeMake(10.0, 10.0)];
// Create the shape layer and set its path
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = thetableView.bounds;
maskLayer.path = maskPath.CGPath;
CAShapeLayer *maskLayer2 = [CAShapeLayer layer];
maskLayer.frame = thetableView.bounds;
maskLayer.path = maskPath2.CGPath;
// Set the newly created shape layer as the mask for the image view's layer
[thetableView.layer addSublayer:maskLayer];
[thetableView.layer addSublayer:maskLayer2];
これは、同じ問題になります。私の問題は、一般に任意のUIViewまたはそのサブクラスです。だから私はこれを理解する必要があります。 –
http://stackoverflow.com/questions/2264083/rounded-uiview-using-calayers-only-some-corners-howそれがあなたを助けることができるかもしれません。 – Emon
ああ、addSublayerを行う代わりに、CCLayerのmaskプロパティを設定するだけでよいはずです。だから、私はどのように1つのマスクに複数のUIRextconrnersを追加しますか? –