SegmentedControl
SegmentedControl copied to clipboard
SegmentedControlRenderer will never work !
I want to change the font size , so i use SegmentedControlRenderer , my code as below
[assembly: ExportRenderer(typeof(SegmentedControl.FormsPlugin.Abstractions.SegmentedControl), typeof(MySegmentedControlRenderer))]
namespace FormsApp.iOS
{
class MySegmentedControlRenderer : SegmentedControlRenderer
{
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
}
protected override void OnElementChanged(ElementChangedEventArgs<SegmentedControl.FormsPlugin.Abstractions.SegmentedControl> e)
{
base.OnElementChanged(e);
if(Control !=null){
var myFont = UIFont.SystemFontOfSize(40f);
Control.SetTitleTextAttributes(new UITextAttributes() { Font = myFont }, UIControlState.Normal);
}
}
}
}
I can see the control shows on the screen , but OnElementChanged is never triggered.
Please correct me if my code has mistaken.
Thanks.
I will be releasing a new version soon.
You got it wrong. In order for this to work, you need to derive from SegmentedControl first and create a renderer for each platform. Make sure that the View you're going to export is your custom control, i.e:
ExportRenderer(typeof(Your_Custom_Control_Here), typeof(MySegmentedControlRenderer))]
And instead of using the SegmentedControl in your XAML, you also use your Your_Custom_Control_Here