![](/img/trans.png)
[英]Xamarin.Forms Wysiwyg: move project from Xamarion.iOS to Xamarin.Forms using custom renderer
[英]How to remove thumb from custom renderer slider in Xamarin forms iOS?
所以我創建了一個自定義渲染器滑塊,因為我想稍微調整一下樣式及其寬度。 我可以使用寬度就可以了,但是當我嘗試擺脫指頭時,它不會被移除。
我同時嘗試了Xamarin.Forms.Color.Transparent.ToUIColor()
和UIColor.Clear
但是拇指仍然存在。 我打算只顯示這些條,所以在我的xaml中將其設置為IsEnabled false。 現在我只需要那個拇指圖像就可以了:)
知道我在做什么錯嗎?
這是iOS代碼渲染器:
public class Slider_iOS : SliderRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Slider> e)
{
SetNativeControl(new MySlideriOS());
base.OnElementChanged(e);
}
}
public class MySlideriOS : UISlider
{
public MySlideriOS()
{
this.ThumbTintColor = UIColor.Clear;
this.HorizontalAlignment = UIControlContentHorizontalAlignment.Fill;
this.VerticalAlignment = UIControlContentVerticalAlignment.Fill;
}
public override CGRect TrackRectForBounds(CGRect forBounds)
{
CGRect rect = base.TrackRectForBounds(forBounds);
return new CGRect(rect.X, rect.Y, rect.Width, 10);
}
}
如果UIColor.Clear不起作用,則可以嘗試設置透明圖像,這可以解決問題
sliderImage.SetThumbImage(UIImage.FromFile("transparentIcon.png"), UIControlState.Normal);
我已經運行了您的代碼。 我發現初始化接口時,滑塊的透明背景仍然存在,但是他不會隨滑塊一起移動。
您可以嘗試此操作,將Control.ThumbTintColor
添加到此處。
public class Slider_iOS : SliderRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Slider> e)
{
base.OnElementChanged(e);
Control.ThumbTintColor = UIColor.Clear; //add here
SetNativeControl(new MySlideriOS());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.