如何在Objective C中只绘制UIView的顶角而不是整个视图?

问题描述 投票:3回答:1

我是iOS的新手,我正面临着关于曲线UIView的问题。我想在图像中像这样弯曲UIView顶部的半径

enter image description here

正如您可以看到我的工作视图的屏幕截图。

我正在使用这样的代码

UIBezierPath *maskPath = [UIBezierPath
                          bezierPathWithRoundedRect:ViewSwapMyWork.bounds
                          byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight)
                          cornerRadii:CGSizeMake(70, 70)
                          ];

CAShapeLayer *maskLayer = [CAShapeLayer layer];

maskLayer.frame = ViewSwapMyWork.bounds;
maskLayer.path = maskPath.CGPath;

ViewSwapMyWork.layer.mask = maskLayer; 
ios objective-c uiview
1个回答
4
投票

首先你的视图应该有相同的高度和宽度意味着它应该是正方形,那么你可以这样做,

[ViewSwapMyWork.layer setCornerRadius:ViewSwapMyWork.frame.size.width/2];
[ViewSwapMyWork.layer setMasksToBounds:YES];
© www.soinside.com 2019 - 2024. All rights reserved.