2

UIBezierPath によって uiview でアークを作成しています。アークはうまく作成されていますが、この UIView のスナップショットを共有するためにスナップショットを作成しているときに、アークがスナップショットに表示されません。uiview はデフォルトで表示されており、アークとラウンドの rectcorners は表示されていません。スナップショット CGSize sz = CGSizeMake(bottomview.frame.size.width, bottomview.frame.size.height); のコードは次のとおりです。

    UIGraphicsBeginImageContext(sz);
    [bottomview.layer renderInContext:UIGraphicsGetCurrentContext()];
    image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    resultImageView.image=image;

arc UIBezierPath *aPathbottom = [UIBezierPath bezierPath]; を作成するコードを次に示します。

[aPathbottom moveToPoint:CGPointMake(0, 262)];





[aPathbottom addLineToPoint:CGPointMake(0, 15)];
[aPathbottom addLineToPoint:CGPointMake(10, 10)];
[aPathbottom addLineToPoint:CGPointMake(20, 6)];
[aPathbottom addLineToPoint:CGPointMake(40, 3.5)];
[aPathbottom addLineToPoint:CGPointMake(60, 6)];
[aPathbottom addLineToPoint:CGPointMake(70, 10)];
[aPathbottom addLineToPoint:CGPointMake(80,15)];

[aPathbottom addLineToPoint:CGPointMake(80, 250)];
[aPathbottom addLineToPoint:CGPointMake(70, 256)];
[aPathbottom addLineToPoint:CGPointMake(60, 260.5)];
[aPathbottom addLineToPoint:CGPointMake(50, 264)];
[aPathbottom addLineToPoint:CGPointMake(55, 264.5)];
[aPathbottom addLineToPoint:CGPointMake(40, 265)];
[aPathbottom addLineToPoint:CGPointMake(45, 264.5)];
[aPathbottom addLineToPoint:CGPointMake(40, 264)];
[aPathbottom addLineToPoint:CGPointMake(20, 260.5)];
[aPathbottom addLineToPoint:CGPointMake(10, 256)];
[aPathbottom addLineToPoint:CGPointMake(0, 250)];
[aPathbottom closePath];


CAShapeLayer *maskLayerbottom = [CAShapeLayer layer];
maskLayerbottom.frame = bottomview.bounds;
maskLayerbottom.path = aPathbottom.CGPath;


bottomview.layer.mask = maskLayerbottom;

なぜそれが起こっているのかわかりません.誰かが私を助けてくれますか.

よろしくチャクシュアローラ

4

2 に答える 2

1

これを追加しようとしましたか?

[bottomview.layer setMasksToBounds:YES];
于 2013-04-11T13:47:49.853 に答える