我需要能够同时在android
的{{1}}和ios
上更改开关的颜色,因为一个是绿色,另一个是黑色,但是应用程序的主要颜色是黄色的xamarin.forms
,我该怎么办?
答案 0 :(得分:0)
您可以创建自定义渲染器:
在您的表单解决方案中:
public class CustomSwitch : Switch
{
}
然后,在您的iOS解决方案中:
[assembly: ExportRenderer(typeof(CustomSwitch), typeof(CustomSwitchRenderer))]
namespace yourNameSpace
{
public class CustomSwitchRenderer : SwitchRenderer
{
protected override void OnElementChanged (ElementChangedEventArgs<Switch> e)
{
base.OnElementChanged (e);
if (Control != null)
{
//change color
Control.OnTintColor = UIColor.FromRGB (204, 153, 255);
}
}
}
}
但是,如果要更改应用程序中的所有开关,则只需:
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
// switch
UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0,0,0);
return base.FinishedLaunching (app, options);
}