Hi,
I have a custom class named SubtleLabel which has custom label renderers for each platform.
Custom Control
public class SubtleLabel : Label
{
}
iOS renderer
public class SubtleLabelRenderer : LabelRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
{
base.OnElementChanged(e);
this.Control.TextColor = Constants.SubtleColor;
}
}
This was working before. I am on 1.2.2.6240-pre2 release.
I noticed that internally the code is calling UpdateText() from the OnElementChanged event
protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
{
base.OnElementChanged(e);
...
this.UpdateText();
...
}
Where UpdateText is resetting the text color in UpdateColor().
As a workaround, I am setting the Element.TextColor in the iOS renderer, but I believe this will result in unnecessary conversions from Color to UIColor for each control. As Constants.SubtleColor is a cached static property.
Thanks