【发布时间】:2020-06-15 22:10:00
【问题描述】:
当我按照上面的指南制作自定义渲染器时,“OnImage”和“OffImage”不起作用。当我点击或关闭时,我看不到图像。
在我的课堂上,我发送了一个 HTTP url,然后将该 URL 转换为 UIImage。它成功运行,因为我一直添加断点。我什至尝试在我的图书馆中使用一张图片,看看这是否会改变结果,但它没有。
public class Switch_iOS : SwitchRenderer
{
Version version = new Version(ObjCRuntime.Constants.Version);
protected override void OnElementChanged(ElementChangedEventArgs<Switch> e)
{
base.OnElementChanged(e);
if (e.OldElement != null || e.NewElement == null)
return;
var view = (CustomSwitch)Element;
if (!string.IsNullOrEmpty(view.SwitchThumbImage))
{
if (version > new Version(6, 0))
{
Control.OnImage = FromUrl(view.SwitchThumbImage);
Control.OffImage = FromUrl(view.SwitchThumbImage);
}
else
{
Control.ThumbTintColor = view.SwitchThumbColor.ToUIColor();
}
}
}
public UIImage FromUrl(string uri)
{
using (var url = new NSUrl(uri))
using (var data = NSData.FromUrl(url))
return UIImage.LoadFromData(data);
}
}
“Control.OnImage”和“Control.OffImage”是否不适用于最新的 Xamarin 表单?我还打算为开关制作背景图片。
【问题讨论】:
-
“似乎不起作用”不是对问题的有用描述。你是说两个图像都不显示吗?还是只有一个可以?还是别的什么?
-
不起作用..我会改写问题。
标签: xamarin xamarin.forms xamarin.ios