gpt4 book ai didi

uiview - 无法在 ImageView 拉伸(stretch)到其边界的图层上设置cornerRadius和阴影?

转载 作者:行者123 更新时间:2023-12-03 13:28:33 33 4
gpt4 key购买 nike

这让我很难过。我有一个 UIView(称之为“父级”)。该 View 的最底部 subview 是 UIImageView(称为“子”),其框架占据了整个“父”边界。

我想在“父” View 上圆角,并设置一个阴影。我在 CALayer 上执行此操作像往常一样的“ parent ”:

[[parent layer] setShadowOffset:CGSizeMake(5, 5)];
[[parent layer] setShadowRadius:6];
[[parent layer] setShadowOpacity:0.4];
[[parent layer] setCornerRadius:6];

这会正确显示阴影,但不会圆角。

这是踢球者:
  • 如果我删除“子” ImageView ,或将其缩小以使其不占据“父” View 的整个边界,我会在父 View 上正确获得圆角和阴影。
  • 如果我不理会“ child ”但在“父” View 上设置“clipsToBounds”,我会正确地得到角落。但现在影子不见了。
  • 在 child 的图层上设置圆角半径似乎也没有效果。

  • 似乎“子” ImageView 只是遮盖了“父” View 上的圆角,因为它占据了整个矩形,并且基于父 View 的剪辑得到了角落,但也掩盖了阴影。不知道为什么#3 不起作用。

    我错过了什么?我是否因为盯着这个太久而忽略了一些明显的东西?

    谢谢。

    (令人震惊的是,标签“roundedcorners-dropshadow”已经存在。太棒了。)

    最佳答案

    您将需要两个嵌套 View ,内部一个设置圆角并裁剪到边界,外部 View 具有阴影(因此不裁剪)。在您的情况下,内部和外部 View 可能是“子”和“父”,但我猜您没有为这些 View 设置正确的裁剪值?

    请参阅 Why masksToBounds = YES prevents CALayer shadow? 中的答案.

    关于uiview - 无法在 ImageView 拉伸(stretch)到其边界的图层上设置cornerRadius和阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3705687/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com