首页 > 解决方案 > UIView 阴影故障

问题描述

我试图在我的 iOS 应用程序中从 Android重建cardView 。我正在使用多操作系统引擎,这就是为什么我的代码在 java 中在 obj-c 或 swift 中几乎相同的原因。

我编写了这个方法来为我的 UIViews 添加阴影。

public static void addCardView(UIView view) {
    long cornerRadius = 2;
    int shadowOffsetWidth = 0;
    int shadowOffsetHeight = 3;
    float shadowOpacity = 0.5f;
    UIColor shadowColor = UIColor.blackColor();

    UIBezierPath shadowPath = UIBezierPath.bezierPathWithRoundedRectCornerRadius(view.bounds(), cornerRadius);
    view.layer().setCornerRadius(cornerRadius);
    view.layer().setMasksToBounds(false);
    view.layer().setShadowColor(shadowColor.CGColor());
    view.layer().setShadowOffset(new CGSize(shadowOffsetWidth, shadowOffsetHeight));
    view.layer().setShadowOpacity(shadowOpacity);
    view.layer().setShadowPath(shadowPath.CGPath());
}

将其与旧 iPhone 一起使用时,效果很好。但是当使用 iPhone XR 或类似设备时,出现以下故障(右下角):

在此处输入图像描述

对此有何建议?

标签: iosuiview

解决方案


推荐阅读