如何在Objective C中仅弯曲UIView的顶角而不是整个视图?

Posted

技术标签:

【中文标题】如何在Objective C中仅弯曲UIView的顶角而不是整个视图?【英文标题】:How to curve UIVew only top corner and not whole view in Objective C? 【发布时间】:2017-12-13 05:17:33 【问题描述】:

我是 ios 新手,我遇到了关于曲线 UIView 的问题。我想在图像中像这样弯曲 UIView 顶部的半径

如你所见,我的工作视图截图。

我正在使用这样的代码

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; 

【问题讨论】:

您只想弯曲视图的上半部分或完整的圆形? @HiteshSultaniya 只有视图的上半部分。 How can you make a UIView with rounded top corners and square bottom corners的可能重复 【参考方案1】:

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

[ViewSwapMyWork.layer setCornerRadius:ViewSwapMyWork.frame.size.width/2];
[ViewSwapMyWork.layer setMasksToBounds:YES];

【讨论】:

@Muju 如果您的问题解决了,请采纳答案:) 这个答案将根据要求弯曲所有角落,而不仅仅是顶角 @simon_smiley 是的,但我可以隐藏在视图下方。 @Muju“是的,但我可以隐藏在视图下方”经典:O

以上是关于如何在Objective C中仅弯曲UIView的顶角而不是整个视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Objective C的表视图中仅显示具有内容的表行

如何在iOS,Objective C的tableview中的每个部分中仅实现单个单元格选择

如何获取嵌套在 UIView 中的 UIView 框架 - Objective C

如何使用Objective C在UItableView中增加UIView高度?

如何在 Objective C 中为浮动 UIView 设置动画

如何在Objective C中通过UIView获取UIAlertController?