【发布时间】:2016-11-14 16:36:46
【问题描述】:
我正在尝试通过子类化 Frame 并制作自定义渲染器来在 IOS Xamarin Forms 上制作 CardView。我想实现这样的目标:
在查看有关设置阴影的 API 后,我已经这样做了:
[assembly: ExportRenderer(typeof(CardView), typeof(CardViewRenderer))]
namespace TrabbleMobile.iOS.CustomRenderers
{
public class CardViewRenderer : FrameRenderer
{
public override void Draw(CGRect rect)
{
var cardView = (CardView)this.Element;
using (var context = UIGraphics.GetCurrentContext())
{
//nfloat cornerRadius = 2;
float shadowOffsetWidth = 2;
float shadowOffsetHeight = 4;
var shadowColor = new CGColor(0, 0, 0, (nfloat)0.5);
var boxColor = new CGColor(255, 255, 255);
var shadowBlur = (float)0.5;
var offset = new CGSize(shadowOffsetWidth, shadowOffsetHeight);
context.SetShadow(offset, shadowBlur, shadowColor);
但是,它并没有按应有的方式渲染,而且根本没有阴影。
【问题讨论】:
-
嗨,你能把这个形式化为一个答案吗?我使用您评论的文档的链接来解决这个问题。谢谢! :)
标签: ios xamarin xamarin.forms uigraphicscontext