【发布时间】:2018-06-22 10:47:52
【问题描述】:
我正在尝试为 TableViewCell 添加渐变。我正在更新 LayoutSubview() 中的渐变层。当我调试时,它看起来为图层框架设置了正确的值。但是渐变不是“重绘”或在每次旋转时渐变显示为先前方向的大小。我做错了什么?
public override void AwakeFromNib()
{
base.AwakeFromNib();
_gradient = new CAGradientLayer();
_gradient.Frame = ContentView.Bounds;
_gradient.BackgroundColor = UIColor.Red.CGColor;
_gradient.StartPoint = new CGPoint(0, 0);
_gradient.EndPoint = new CGPoint(1, 1);
_gradient.Colors = new[] { _topColor, _bottomColor };
this.ContentView.Layer.InsertSublayer(_gradient, 0);
}
public override void LayoutSubviews()
{
_gradient.Frame = ContentView.Bounds;
base.LayoutSubviews();
}
【问题讨论】:
-
您的单元格中是否有
preparreForSubView并重置渐变层或从中删除? -
把你的代码放在 drawrect 方法中,而不是 awakeFromNib
-
你能显示截图或其他东西来看看问题是什么吗?
标签: ios uitableview xamarin layout gradient