【问题标题】:How to create concave shape of a UIView如何创建 UIView 的凹形
【发布时间】:2023-03-21 14:54:01
【问题描述】:

是否可以将视图的侧面做成凹形?

我设法用边界半径使边缘变圆,但我想知道是否可以进行其他漂亮的转换。 示例如下:

1)这是我到目前为止的进展:

2) 应该是这样的:

是否可以通过编程方式使视图看起来像这样? 如果没有,我想我会使用 png 图像来实现这一点,但通过代码完成这些东西总是更好

【问题讨论】:

  • 是的,你可以。你只需要玩 UIBezierPath/CGPath 就可以了。他们有绘制“弧线”的方法。
  • 感谢您的提示!我会调查的
  • @larme 你为什么不发表这个评论作为答案,所以我可以接受。 UIBezierPath/CGPath 是正确的方法。
  • BezierPath and masking 的可能重复项我更喜欢将其标记为重复项,并带有一个问题表明它是可能的。
  • 没错,同样的事情......但像我这样的人根本不知道 UIBezierPath 甚至不会搜索它,因此您可以在答案中发布指向该问题的链接,这样更容易其他人导航

标签: ios uiview calayer


【解决方案1】:

您可以使用UIBezierPath/CGPath 来实现此目的。

有一个关于绘图的good documentation from Apple,给你关于曲线、线条等的提示:

创建形状后:

CAShapeLayer *maskLayer = [CAShapeLayer layer];
[maskLayer setFrame:[viewToMask bounds]];
[maskLayer setPath:[theBezierPath CGPath]];
[viewToMask layer] setMask = layer;

【讨论】:

    猜你喜欢
    • 2014-03-10
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多