首页 > 解决方案 > 更改滑块上拇指图像的位置

问题描述

我按照以下链接中的建议添加了拇指图像来自定义滑块。 https://github.com/xamarin/recipes/tree/master/Recipes/ios/standard_controls/sliders/specify_slider_appearance

默认情况下,图像附加到其中心的栏。我想把它移到图像的底部。任何人都可以帮助我。我想要它,如图所示

标签: iosxamarinslideruislider

解决方案


您可以自定义 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);
    }
}

在此处输入图像描述


推荐阅读