【问题标题】:How to add inner shadow to UIView with rounded corners如何使用圆角向 UIView 添加内部阴影
【发布时间】:2020-07-22 05:23:00
【问题描述】:

我必须为具有圆角的UIView 添加一个内部阴影。

我在 SO 上看到了几个答案,它们向 UIViews 添加了内部阴影,但它们并没有像我想要的那样工作,因为它们将阴影添加到整个矩形,而不是考虑圆角。

将此图片作为我想要实现的目标的示例:

【问题讨论】:

  • 您能否添加对您已检查但未满足您要求的 SO 答案的参考?
  • 我有一个想法,但没有时间验证它。添加具有相同颜色的子视图,该子视图将以父视图为中心,并且会小几个像素。像这样,您将在父母的每一侧都有空间。在父级上打开剪辑子视图并向内部视图添加阴影。像这样,你可以有一个内在的阴影。只需检查视图的半径是否相同。
  • 请添加一些代码,说明您到目前为止尝试过的内容

标签: ios swift xcode uiview


【解决方案1】:

这是一个诡计。您将阴影和边框赋予同一视图,阴影将落在视图内。请确保视图的背景颜色清晰。使用下面的代码作为参考。

yourView.layer.shadowColor = UIColor.gray.cgColor
yourView.layer.shadowOpacity = 0.3
yourView.layer.shadowOffset = CGSize.zero
yourView.layer.shadowRadius = 6
yourView.layer.masksToBounds = true
yourView.layer.borderWidth = 1.5
yourView.layer.borderColor = UIColor.white.cgColor
yourView.layer.cornerRadius = imageView.bounds.width / 2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-26
    • 2014-09-15
    • 1970-01-01
    • 2012-07-11
    • 2016-10-06
    • 1970-01-01
    • 2018-05-26
    • 2022-01-24
    相关资源
    最近更新 更多