public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);

            Canvas = new PKEventingCanvasView {
                BackgroundColor = UIColor.LightTextColor, TranslatesAutoresizingMaskIntoConstraints = false
            };
            View.AddSubview(Canvas);
            View.AddConstraints(new[]
            {
                NSLayoutConstraint.Create(Canvas, NSLayoutAttribute.CenterX, NSLayoutRelation.Equal, View, NSLayoutAttribute.CenterX, 1, 0),
                NSLayoutConstraint.Create(Canvas, NSLayoutAttribute.Bottom, NSLayoutRelation.Equal, View, NSLayoutAttribute.BottomMargin, 1, -50),
                NSLayoutConstraint.Create(Canvas, NSLayoutAttribute.Width, NSLayoutRelation.Equal, 1, 300),
                NSLayoutConstraint.Create(Canvas, NSLayoutAttribute.Height, NSLayoutRelation.Equal, 1, 200),
            });

            var window = GetWindow();
            var tool   = PKToolPicker.GetSharedToolPicker(window);

            tool.SetVisible(true, Canvas);
            tool.AddObserver(Canvas);

            Canvas.BecomeFirstResponder();
            Canvas.OnImage = img => BackgroundView.BackgroundColor = UIColor.FromPatternImage(img);

            CreateAndAnimateBackground();
        }
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);

            var canvas = new PKCanvasView();
            var window = GetWindow();

            var tool = PKToolPicker.GetSharedToolPicker(window);

            tool.SetVisible(true, canvas);
            tool.AddObserver(canvas);
            canvas.BecomeFirstResponder();

            View.FillWith(canvas);
        }
        private void SetupCanvas()
        {
            Canvas = new PKEventingCanvasView {
                TranslatesAutoresizingMaskIntoConstraints = false
            };
            Canvas.ContentSize = new CGSize(160, 160);

            View.AddSubview(Canvas);

            var window = GetWindow();
            var tool   = PKToolPicker.GetSharedToolPicker(window);

            tool.SetVisible(true, Canvas);
            tool.AddObserver(Canvas);

            var dialog = new EBDialogViewController();

            EBDialogView = dialog.View;
            View.AddSubview(dialog.View);

            View.AddConstraints(new[]
            {
                NSLayoutConstraint.Create(dialog.View, NSLayoutAttribute.Bottom, NSLayoutRelation.Equal, View, NSLayoutAttribute.Bottom, 1, -20),
                NSLayoutConstraint.Create(dialog.View, NSLayoutAttribute.CenterX, NSLayoutRelation.Equal, View, NSLayoutAttribute.CenterX, 1, 0),
                NSLayoutConstraint.Create(dialog.View, NSLayoutAttribute.Width, NSLayoutRelation.Equal, 1, 220),
                NSLayoutConstraint.Create(dialog.View, NSLayoutAttribute.Height, NSLayoutRelation.Equal, 1, 220),
            });

            dialog.SetContent(Canvas);

            dialog.View.AddConstraints(new[]
            {
                NSLayoutConstraint.Create(Canvas, NSLayoutAttribute.Height, NSLayoutRelation.Equal, 1, 160)
            });

            dialog.View.Transform = CGAffineTransform.MakeTranslation(0, 800);
        }