iOSHasFocus.cs 1.44 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
using System;
using System.Runtime.Remoting.Contexts;
using System.Threading;
using System.Threading.Tasks;
using System.Timers;
using SampleApp.CustomRenderers;
using SampleApp.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(CustomLabel),typeof(iOSHasFocus))]
namespace SampleApp.iOS
{
    public class iOSHasFocus : LabelRenderer
    {

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

Mattia's avatar
Mattia committed
22
            if (Control != null)
Mattia's avatar
Mattia committed
23
            {
Mattia's avatar
Mattia committed
24
                SetNativeControl(new AccessibleLabel());
Mattia's avatar
Mattia committed
25
            }
Mattia's avatar
Mattia committed
26
        }
Mattia's avatar
Mattia committed
27 28


Mattia's avatar
Mattia committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

    }

    public class AccessibleLabel : UILabel
    {
        public AccessibleLabel() : base()
        {
            Console.WriteLine("ACCESSIBLE LABEL CREATED");

            if (AccessibilityElementIsFocused())
            {
                this.Text = "focus";
                Console.WriteLine("accessibilityelementisfocused");
            }
            else
            {
                this.Text = "NOTinfocus";
                Console.WriteLine("accessibilityelementisNOTinfocus");
            }

Mattia's avatar
Mattia committed
49 50 51 52

            
        }

Mattia's avatar
Mattia committed
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
        public override bool AccessibilityElementIsFocused()
        {
            if (base.AccessibilityElementIsFocused())
            {
                return true;
            }
            else
            {
                return false;
            }
        }




Mattia's avatar
Mattia committed
68 69
    }
}