我已经习惯了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;
这给了我以下结果:
这几乎可以,但是我希望看到卡的顶部和左侧的高度更加清晰,就像在Android上一样:
我不是UI界面的图形和/或设计专家。任何帮助表示赞赏。
您可以将shadowOffset设置为零,因为shadowOffset根据UIView frame表示阴影的位置。偏移(2,2)将使阴影相对于元素向右2个像素,向下2个像素。
layer.ShadowOffset = .zero