Skip to content

SegmentedControlRenderer will never work ! #97

Open

Description

@ColeXm

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.

Activity

  1. alexrainman commented on Nov 23, 2018

    @alexrainman
    Owner

    I will be releasing a new version soon.

  2. mr5z commented on Jan 18, 2019

    @mr5z

    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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions