Xamarin表单滑块自定义,用于更改iOS中滑块的粗细

时间:2018-05-09 10:22:49

标签: ios xamarin.forms slider

想要自定义ios滑块以增加滑块的厚度。我尝试使用缩放,但它正在缩放整个滑块,包括滑块上方的缩略图和文本。

1 个答案:

答案 0 :(得分:0)

有两种方法可以实现这一点。

  1. MessagingCenter

  2. 为自定义滑块创建委托并在CustomRenderer中触发它。

    <强>代码

    MySlider

    public class MySlider : Slider
    {
        public delegate void SlideEventHandler(double newValue);
        public SlideEventHandler SlideEvent;
    }
    

    public Page1 ()
    {
        InitializeComponent ();
        slider.SlideEvent += slideChange;
    }
    void slideChange(double newValue) {
        Debug.WriteLine(newValue);
    }
    

    MySliderRenderer

    protected override void OnElementChanged(ElementChangedEventArgs<Slider> e)
    {
        MySlideriOS slider = new MySlideriOS();
        slider.ValueChanged += Slider_ValueChanged;
        SetNativeControl(slider);
    
        base.OnElementChanged(e);
    }
    
    private void Slider_ValueChanged(object sender, EventArgs e)
    {
        MySlideriOS slider = sender as MySlideriOS;
        (Element as MySlider).SlideEvent(slider.Value);
    }