protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                this.vMain = null;
            }

            base.Dispose(disposing);
        }
        private void HandlePopupRequested(object sender, EventArgs e)
        {
            if (vMain == null)
            {
                vMain = new UIViewFullscreen();
            }

            vMain.SetImage(this.Control.Image);
            vMain.Show();
        }
Ejemplo n.º 3
0
        private void OnRequestPhotoViewer(BaseContentCardViewModel viewModel)
        {
            var index      = ViewModel.CardViewModels.IndexOf(viewModel);
            var cell       = _tableController.TableView.CellAt(NSIndexPath.FromRowSection(index, 0)) as DefaultCell;
            var startFrame = cell.ConvertRectToView(cell.ImageRect, View);
            var imageView  = new UIImageView(startFrame);

            imageView.ContentMode = UIViewContentMode.ScaleAspectFill;
            imageView.Image       = cell.Image;
            cell.ImageHidden      = true;

            View.AddSubview(imageView);

            _fullScreenView           = new UIViewFullscreen();
            _fullScreenView.WillHide += (object sender, EventArgs e) => {
                imageView.Hidden = false;
                // Scale the image back to the cell
                UIView.AnimateNotify(_fullScreenView.AnimationDuration / 2, () => {
                    imageView.Frame = startFrame;
                }, (isComplete) => {
                    imageView.RemoveFromSuperview();
                    imageView        = null;
                    cell.ImageHidden = false;
                });
            };

            _fullScreenView.SetImage(cell.Image);
            _fullScreenView.Show();

            // Set final Rect Animation
            var finalFrame = _fullScreenView.ConvertRectToView(_fullScreenView.ImageFrame, View);

            UIView.AnimateNotify(_fullScreenView.AnimationDuration / 2, () => {
                imageView.Frame = finalFrame;
            }, async(isComplete) => {
                await Task.Delay(500);
                imageView.Hidden = true;
            });
        }
Ejemplo n.º 4
0
		private void OnRequestPhotoViewer (BaseContentCardViewModel viewModel) 
		{
			var index = ViewModel.CardViewModels.IndexOf (viewModel);
			var cell = _tableController.TableView.CellAt (NSIndexPath.FromRowSection (index, 0)) as DefaultCell;
			var startFrame = cell.ConvertRectToView (cell.ImageRect, View);
			var imageView = new UIImageView (startFrame);

			imageView.ContentMode = UIViewContentMode.ScaleAspectFill;
			imageView.Image = cell.Image;
			cell.ImageHidden = true;

			View.AddSubview (imageView);

			_fullScreenView = new UIViewFullscreen ();
			_fullScreenView.WillHide += (object sender, EventArgs e) => {
				imageView.Hidden = false;
				// Scale the image back to the cell
				UIView.AnimateNotify(_fullScreenView.AnimationDuration/2, () => {
					imageView.Frame = startFrame;
				}, (isComplete) => {
					imageView.RemoveFromSuperview();
					imageView = null;
					cell.ImageHidden = false;	
				});
			};

			_fullScreenView.SetImage(cell.Image);
			_fullScreenView.Show();

			// Set final Rect Animation
			var finalFrame = _fullScreenView.ConvertRectToView(_fullScreenView.ImageFrame, View);

			UIView.AnimateNotify (_fullScreenView.AnimationDuration/2, () => {
				imageView.Frame = finalFrame;
			}, async (isComplete) => {
				await Task.Delay(500);
				imageView.Hidden = true;
			});
		}