更改滑块上拇指图像的位置

时间:2018-05-14 12:08:07

标签: ios xamarin slider uislider

我根据下面的链接添加拇指图像来自定义滑块。 https://github.com/xamarin/recipes/tree/master/Recipes/ios/standard_controls/sliders/specify_slider_appearance

默认情况下,Image附加到其中心的栏。我想把它移到图像的底部。 任何人都可以帮助我。 我希望它显示为here

2 个答案:

答案 0 :(得分:1)

您可以自定义UISlider并覆盖ThumbRectForBounds方法。方法返回滑块拇指图像的绘图矩形。

代码:

public partial class ViewController1 : UIViewController 
{
    public ViewController1() : base("ViewController1", null)
    {
    }

    public override void ViewDidLoad()
    {
        base.ViewDidLoad();

        MySlider slider = new MySlider();
        slider.Frame = new CGRect(50, 50, 100, 20);
        View.Add(slider);
    }
}


public class MySlider : UISlider
{
    public MySlider()
    {
        this.SetThumbImage(UIImage.FromFile("1.png"), UIControlState.Normal);
    }

    public override CGRect ThumbRectForBounds(CGRect bounds, CGRect trackRect, float value)
    {
        CGRect rect = base.ThumbRectForBounds(bounds, trackRect, value);
        return new CGRect(rect.X, -10, rect.Width, rect.Height);
    }
}

enter image description here

答案 1 :(得分:0)

创建一个在其下半部分具有完全透明度的图像,并将其设置为拇指图像。像这样:

half transparent image