我正在使用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中的项目很多并且需要滚动时,出现在屏幕上直到滚动的项目都很好,而滚动下方的项目很好渲染器正在应用。
在列表视图的整个滚动中是否有任何可以应用渲染器效果的东西。
答案 0 :(得分:0)
按照addCustomFormatter此处的官方文档,在创建CustomRenderer时,您的代码不应位于“ OnDraw”方法中,而应将其置于OnElementChanged方法中。
我已经复制了您的错误,可以通过将代码放置在正确的位置来解决此问题。