ios - 更改滑块上拇指图像的位置
问题描述
我按照以下链接中的建议添加了拇指图像来自定义滑块。 https://github.com/xamarin/recipes/tree/master/Recipes/ios/standard_controls/sliders/specify_slider_appearance
默认情况下,图像附加到其中心的栏。我想把它移到图像的底部。任何人都可以帮助我。我想要它,如图所示。
解决方案
您可以自定义 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);
}
}
推荐阅读
- azure-devops - WorkItemMigrationConfig 处理器错误
- c# - 如何使用 LDAP 查询不同服务器上的 Active Directory
- node.js - 是否有为 express().listen() 保留的类型,如果没有,Typescript 可以从函数的返回值中提取它吗?
- arrays - TypeError: int() 参数必须是字符串、类似字节的对象或数字,而不是“映射”
- java - JAVA 和字节数组
- javascript - 在 svelte 中显示 axios 数据
- javascript - 为什么我在客户端上看不到错误异常?
- wordpress - 代理通过 nginx 将 mywebsite 传递到另一个服务器 wordpress 博客
- r - 使用 Ugarchroll 在 for 循环中拟合数据:如何摆脱以下警告消息?--> 可能的收敛问题:优化给出的代码 = 1
- python - 是否可以在不使用 Python 的 sum()、min() 或 max() 函数的情况下简化此函数?