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

Posted

技术标签:

【中文标题】更改滑块上拇指图像的位置【英文标题】:Change the position of thumb image on the slider bar 【发布时间】:2018-05-14 12:08:07 【问题描述】:

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

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

【问题讨论】:

【参考方案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);
    

【讨论】:

【参考方案2】:

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

【讨论】:

如何添加透明度..? 您可以在任何基本的照片编辑软件中制作半透明图像。 没有工作,因为我希望整个图像的背景透明。

以上是关于更改滑块上拇指图像的位置的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UI 滑块,拇指图像大小问题

如何在圆形滑块IOS上设置图像

如何使 CAGradientLayer 中的渐变跟随滑块上的某个值?

Slick Slider - 在多个滑块上显示计数器

如何获取 UISlider 拇指位置

在 iOS 滑块上,我可以单击刻度上的任意位置还是必须拖动滑块旋钮?