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();
        }
예제 #2
0
        public static void DrawOnto(this PKEventingCanvasView canvasView, SCNNode node) => canvasView.OnImage = img =>
        {
            if (img is null)
            {
                return;
            }

            node.Geometry.FirstMaterial.Diffuse.Contents = img;
        };
        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);
        }