如何在iOS上使用CardView产生清晰的仰角效果?

问题描述 投票:0回答:1

我已经习惯了Android上的CardView widget

我正在尝试以编程方式在iOS上获得类似的东西。我发现了一些类似one的资源。从UIView派生的简单CardView。

我认为代码中有趣的部分是:

Layer.CornerRadius = CornerRadius;
UIBezierPath bezierPath = UIBezierPath.FromRoundedRect(Bounds, CornerRadius);
Layer.MasksToBounds = false;
Layer.ShadowColor = ShadowColor.CGColor;
Layer.ShadowOffset = new CGSize(shadowOffsetWidth, shadowOffsetHeight);
Layer.ShadowOpacity = shadowOpacity;
Layer.ShadowPath = bezierPath.CGPath;

这给了我以下结果:

enter image description here

这几乎可以,但是我希望看到卡的顶部和左侧的高度更加清晰,就像在Android上一样:

enter image description here

我不是UI界面的图形和/或设计专家。任何帮助表示赞赏。

c# ios swift xamarin.ios
1个回答
1
投票

您可以将shadowOffset设置为零,因为shadowOffset根据UIView frame表示阴影的位置。偏移(2,2)将使阴影相对于元素向右2个像素,向下2个像素。

layer.ShadowOffset = .zero
© www.soinside.com 2019 - 2024. All rights reserved.