如何创建 UIView 的凹形
Posted
技术标签:
【中文标题】如何创建 UIView 的凹形【英文标题】:How to create concave shape of a UIView 【发布时间】:2015-03-03 10:31:31 【问题描述】:是否可以将视图的侧面做成凹形?
我设法用边界半径使边缘变圆,但我想知道是否可以进行其他漂亮的转换。 示例如下:
1)这是我到目前为止的进展:
2) 应该是这样的:
是否可以通过编程方式使视图看起来像这样? 如果没有,我想我会使用 png 图像来实现这一点,但通过代码完成这些东西总是更好
【问题讨论】:
是的,你可以。你只需要玩 UIBezierPath/CGPath 就可以了。他们有绘制“弧线”的方法。 感谢您的提示!我会调查的 @larme 你为什么不发表这个评论作为答案,所以我可以接受。 UIBezierPath/CGPath 是正确的方法。 BezierPath and masking 的可能重复项我更喜欢将其标记为重复项,并带有一个问题表明它是可能的。 没错,同样的事情......但像我这样的人根本不知道 UIBezierPath 甚至不会搜索它,因此您可以在答案中发布指向该问题的链接,这样更容易其他人导航 【参考方案1】:您可以使用UIBezierPath
/CGPath
来实现此目的。
有一个关于绘图的good documentation from Apple,给你关于曲线、线条等的提示:
创建形状后:
CAShapeLayer *maskLayer = [CAShapeLayer layer];
[maskLayer setFrame:[viewToMask bounds]];
[maskLayer setPath:[theBezierPath CGPath]];
[viewToMask layer] setMask = layer;
【讨论】:
以上是关于如何创建 UIView 的凹形的主要内容,如果未能解决你的问题,请参考以下文章