CustomActionIos.cs 2.09 KB
Newer Older
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.Diagnostics;
using Foundation;
using ObjCRuntime;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using XAMARINCustomAction.iOS;

[assembly: Dependency(typeof(CustomActionIos))]
namespace XAMARINCustomAction.iOS
{
    public class CustomActionIos : ICustomAction
    {
        MainPage mainpage;

        public void initAccessibility(MainPage page)
        {
            mainpage = page;
            var iospage = page.GetRenderer().ViewController;

22 23
            UIAccessibilityCustomAction up = new UIAccessibilityCustomAction("Increment", actionHandler: Increment);
            UIAccessibilityCustomAction down = new UIAccessibilityCustomAction("Decrement", actionHandler: Decrement);
24
            iospage.AccessibilityCustomActions = new UIAccessibilityCustomAction[2] { up, down };
25
            Debug.WriteLine($"PIPPO: DS, counter = {MainPage.counter.Text}");
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 52
        private bool Increment(UIAccessibilityCustomAction customAction)
        {
            int n = Int32.Parse(MainPage.counter.Text) + 1;
            Debug.WriteLine("PIPPO: clicked increment");
            MainPage.counter.Text = "" + (n);
            return true;
        }

        private bool Decrement(UIAccessibilityCustomAction customAction)
        {
            int n = Int32.Parse(MainPage.counter.Text);
            if (n <= 0)
            {
                return false;
            }
            Debug.WriteLine("PIPPO: clicked decrement");
            n--;
            MainPage.counter.Text = "" + (n);
            return true;
        }



        /*private bool Increment()
53 54
        {
            int n = Int32.Parse(mainpage.counter.Text);
55
            Console.WriteLine("PIPPO: clicked on increment");
56 57 58
            Debug.WriteLine($"PIPPO: clicked on increment {n}");
            mainpage.counter.Text = "" + (n++);

59 60 61 62
        }*/


        /*[Export("Decrement:")]
63 64 65 66 67
        private void Decrement()
        {
            Console.WriteLine("PIPPO: clicked on decrement");
            int n = Int32.Parse(mainpage.counter.Text);
            mainpage.counter.Text = "" + (n--);
68
        }*/
69 70 71

    }
}