Javier Suárez Ruiz 285ce1b9bf Added iOS resources and renderers.
Created Settings view.
2016-11-17 15:08:22 +01:00

56 lines
1.5 KiB
C#

using eShopOnContainers.Core.Controls;
using eShopOnContainers.iOS.Renderers;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(CustomSwitch), typeof(CustomSwitchRenderer))]
namespace eShopOnContainers.iOS.Renderers
{
public class CustomSwitchRenderer : ViewRenderer<CustomSwitch, UISwitch>
{
protected override void OnElementChanged(ElementChangedEventArgs<CustomSwitch> e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
this.Element.Toggled -= ElementToggled;
return;
}
if (this.Element == null)
{
return;
}
var uiSwitchControl = new UISwitch();
uiSwitchControl.ValueChanged += ControlValueChanged;
this.Element.Toggled += ElementToggled;
this.SetNativeControl(uiSwitchControl);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
this.Control.ValueChanged -= this.ControlValueChanged;
this.Element.Toggled -= ElementToggled;
}
base.Dispose(disposing);
}
private void ElementToggled(object sender, ToggledEventArgs e)
{
this.Control.On = Element.IsToggled;
}
private void ControlValueChanged(object sender, System.EventArgs e)
{
this.Element.IsToggled = this.Control.On;
}
}
}