我正在尝试实现一种在自定义渲染器滑块旁边放置标签的方法。
现在我已经对其进行了调整,因此它不是垂直滑块,而是水平滑块。
这是我当前的代码:
Xamarin.iOS滑块渲染器
protected override void OnElementChanged(ElementChangedEventArgs<Slider> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.Transform = CGAffineTransform.MakeRotation(3.14159265359f * -0.5f); //(Math.PI * -0.5f);
}
}
XAML:
<Slider x:Name = "positionSlider" AbsoluteLayout.LayoutBounds="0.95, 0.55, 0.1, 0.45" AbsoluteLayout.LayoutFlags="All" ValueChanged = "Handle_ValueChanged" />
<Label x:Name = "box" Text = "Test" AbsoluteLayout.LayoutBounds="0.9, 0.5, 0.1, 0.1" AbsoluteLayout.LayoutFlags="All" />
然后我如何尝试获取当前位置,然后在其后放置标签:
void Handle_ValueChanged(object sender, Xamarin.Forms.ValueChangedEventArgs e)
{
AbsoluteLayout.SetLayoutBounds (box, new Rectangle (0.9, positionSlider.Y, 0.1, 0.1));
}
positionSlider.Y
不会在即时滚动时更新其值,所以我很可能不得不用另一种方式解决此问题?