iOSMagicTap.cs 1.48 KB
Newer Older
Mattia's avatar
Mattia committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
using System;
using SampleApp.CustomRenderers;
using Xamarin.Forms;
using SampleApp.iOS;
using Xamarin.Forms.Platform.iOS;
using SampleApp.Views;
using UIKit;

[assembly: ExportRenderer(typeof(CustomView), typeof(iOSMagicTap))]
namespace SampleApp.iOS
{
    public class iOSMagicTap : EditorRenderer
    {

        protected override void OnElementChanged(ElementChangedEventArgs<Editor> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                SetNativeControl(new MyView());
            }
        }
    }

    public class MyView : UITextView
    {
        private Random rnd = new Random();

        public MyView() : base()
        {
            base.Text = "Perform a magic tap (tap with two fingers) to change the background color.";
            base.AccessibilityPerformMagicTap();
            base.Editable = false;
            base.Font = base.Font.WithSize(30);
            Functionality23.customEditor.BackgroundColor = Color.White;
            Functionality23.customEditor.TextColor = Color.Black;
        }

        public override bool AccessibilityPerformMagicTap()
        {
            //random color
            Color randomColor = Color.FromRgb(rnd.Next(256), rnd.Next(256), rnd.Next(256));

            Functionality23.customEditor.Text = "MAGIC TAP";
            Functionality23.customEditor.BackgroundColor = randomColor;
            Functionality23.customEditor.TextColor = Color.White;
            return true;
        }
    }
}