框架的自定义渲染器无法滚动

时间:2019-01-09 05:24:46

标签: ios xamarin xamarin.forms xamarin.ios

我正在使用Xamarin.Forms iOS应用程序,在这里我需要具有自定义阴影颜色的圆形框架,因此我添加了以下渲染器。

 public override void Draw(CGRect rect)
    {
        base.Draw(rect);

        // Update shadow to match better material design standards of elevation
        Layer.CornerRadius = 30.0f;
        Layer.BorderWidth = 1.5f;
        Layer.ShadowRadius = 0f;
        Layer.ShadowColor = UIColor.LightGray.CGColor;
        Layer.ShadowOffset = new CGSize(2, 2);
        //Layer.ShadowPath = UIBezierPath.FromRect(Layer.Bounds).CGPath;
        Layer.ShadowOpacity = 0.80f;
        Layer.MasksToBounds = false;
    }

我已将框架添加到列表中。

当列表中的项目很少时,一切工作正常,但是当Listview中的项目很多并且需要滚动时,出现在屏幕上直到滚动的项目都很好,而滚动下方的项目很好渲染器正在应用。

在列表视图的整个滚动中是否有任何可以应用渲染器效果的东西。

1 个答案:

答案 0 :(得分:0)

按照addCustomFormatter此处的官方文档,在创建CustomRenderer时,您的代码不应位于“ OnDraw”方法中,而应将其置于OnElementChanged方法中。

我已经复制了您的错误,可以通过将代码放置在正确的位置来解决此问题。