【发布时间】:2018-05-09 10:22:49
【问题描述】:
想自定义ios滑块来增加滑块的粗细。我尝试使用缩放,但它正在缩放整个滑块,包括滑块上方的缩略图和文本。
【问题讨论】:
-
我找到了解决方案 [stackoverflow.com/questions/45702803/….但是在继承 UISlider 后滑块的事件没有触发。谁能帮我解决这个问题。
标签: ios xamarin.forms slider
想自定义ios滑块来增加滑块的粗细。我尝试使用缩放,但它正在缩放整个滑块,包括滑块上方的缩略图和文本。
【问题讨论】:
标签: ios xamarin.forms slider
有两种方法可以实现。
为自定义滑块创建委托并在 CustomRenderer 中触发。
代码:
我的滑块
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);
}
【讨论】: