示例#1
0
        public UIDragItem[] GetItemsForBeginningSession(UIDragInteraction interaction, IUIDragSession session)
        {
            bool isEven   = Convert.ToInt16(NumberLabel.Text) % 2 == 0;
            var  provider = new NSItemProvider(new NSString(NumberLabel.Text));
            var  item     = new UIDragItem(provider)
            {
                LocalObject = new NSNumber(isEven)
            };

            return(new UIDragItem[] { item });
        }
        public UIDragItem[] GetItemsForBeginningSession(UIDragInteraction interaction, IUIDragSession session)
        {
            var results = new List <UIDragItem>();

            if (MapItem == null)
            {
                return(results.ToArray());
            }

            var itemProvider = new NSItemProvider(MapItem);

            itemProvider.RegisterObject(Image, NSItemProviderRepresentationVisibility.All);
            results.Add(new UIDragItem(itemProvider));

            return(results.ToArray());
        }
 public void SessionWillBegin(UIDragInteraction interaction, IUIDragSession session)
 {
     session.Items[0].PreviewProvider = DragPreviewForItem;
 }
示例#4
0
 public void WillAnimateLift(UIDragInteraction interaction, IUIDragAnimating animator, IUIDragSession session)
 {
     animator.AddAnimations(() => {
         Alpha = 0.25f;
     });
 }
示例#5
0
        public UITargetedDragPreview GetPreviewForLiftingItem(UIDragInteraction interaction, UIDragItem item, IUIDragSession session)
        {
            var imageView = new UIImageView(Image)
            {
                Frame         = this.Frame,
                ClipsToBounds = true,
                ContentMode   = UIViewContentMode.ScaleAspectFill
            };
            var target = new UIDragPreviewTarget(Superview, imageView.Center);

            return(new UITargetedDragPreview(imageView, new UIDragPreviewParameters(), target));
        }
示例#6
0
        public UITargetedDragPreview GetPreviewForLiftingItem(UIDragInteraction interaction, UIDragItem item, IUIDragSession session)
        {
            var image = item.LocalObject as UIImage;

            if (image == null)
            {
                return(null);
            }

            CGRect frame;

            if (image.Size.Width > image.Size.Height)
            {
                var multiplier = ImageView.Frame.Width / image.Size.Width;
                frame = new CGRect(0, 0, ImageView.Frame.Width, ImageView.Frame.Height * multiplier);
            }
            else
            {
                var multiplier = ImageView.Frame.Height / image.Size.Height;
                frame = new CGRect(0, 0, ImageView.Frame.Width * multiplier, ImageView.Frame.Height);
            }

            var previewImageView = new UIImageView(image)
            {
                ContentMode = UIViewContentMode.ScaleAspectFit,
                Frame       = frame
            };

            var target = new UIDragPreviewTarget(ImageView, ImageView.Center);

            return(new UITargetedDragPreview(previewImageView, new UIDragPreviewParameters(), target));
        }
示例#7
0
 public UIDragItem[] GetItemsForAddingToSession(UIDragInteraction interaction, IUIDragSession session, CGPoint point)
 {
     return(DragItems);
 }
        public UIDragItem[] GetItemsForBeginningDragSession(UICollectionView collectionView, IUIDragSession session, NSIndexPath indexPath)
        {
            var dragItem = DragItem(indexPath);

            return(new UIDragItem[] { dragItem });
        }
        public UIDragItem [] GetItemsForBeginningDragSession(UICollectionView collectionView, IUIDragSession session, NSIndexPath indexPath)
        {
            var selectedPhoto = GetPhoto(indexPath);

            var userActivity = selectedPhoto.OpenDetailUserActivity();
            var itemProvider = new NSItemProvider(UIImage.FromFile(selectedPhoto.Name));

            itemProvider.RegisterObject(userActivity, NSItemProviderRepresentationVisibility.All);

            var dragItem = new UIDragItem(itemProvider)
            {
                LocalObject = selectedPhoto
            };

            return(new [] { dragItem });
        }
 public void DragSessionWillBegin(UICollectionView collectionView, IUIDragSession session)
 {
     albumBeforeDrag = album;
 }
 public void DragSessionDidEnd(UICollectionView collectionView, IUIDragSession session)
 {
     ReloadAlbumFromPhotoLibrary();
     DeleteItems(collectionView);
     albumBeforeDrag = null;
 }
        public UIDragItem[] GetItemsForAddingToDragSession(UICollectionView collectionView, IUIDragSession session, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point)
        {
            var dragItem = DragItem(indexPath);

            return(new UIDragItem[] { dragItem });
        }
 /// <summary>
 /// Required for drag operations from a table
 /// </summary>
 public UIDragItem[] GetItemsForBeginningDragSession(UITableView tableView, IUIDragSession session, NSIndexPath indexPath)
 {
     return(model.DragItems(indexPath));
 }
        public UITargetedDragPreview GetPreviewForLiftingItem(UIDragInteraction interaction, UIDragItem item, IUIDragSession session)
        {
            var imageView = item.LocalObject as UIImageView;

            if (imageView == null)
            {
                return(null);
            }
            return(new UITargetedDragPreview(imageView));
        }
示例#15
0
        public UIDragItem[] GetItemsForBeginningSession(UIDragInteraction interaction, IUIDragSession session)
        {
            if (interaction.View is IVisualElementRenderer renderer && renderer.Element is View view)
            {
                return(HandleDragStarting(view, renderer));
            }

            return(new UIDragItem[0]);
        }
示例#16
0
 public UIDragItem[] GetItemsForBeginningSession(UIDragInteraction interaction, IUIDragSession session)
 {
     return(DragItems);
 }
示例#17
0
 public UIDragItem[] GetItemsForBeginningSession(UIDragInteraction interaction, IUIDragSession session)
 {
     return(HandleDragStarting((View)_viewHandler.VirtualView, _viewHandler));
 }
示例#18
0
        /// <summary>
        /// 'GetItemsForBeginningSession' allows dragging from a view.
        /// </summary>
        public UIDragItem [] GetItemsForBeginningSession(UIDragInteraction interaction, IUIDragSession session)
        {
            var image = ImageView.Image;

            if (image == null)
            {
                return new UIDragItem [] { }
            }
            ;

            var provider = new NSItemProvider(image);
            var item     = new UIDragItem(provider)
            {
                LocalObject = image
            };

            // If a non empty array is returned, dragging is enabled.
            return(new UIDragItem [] { item });
        }