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)); }
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)); }
public UITargetedDragPreview GetPreviewForDroppingItem(UIDropInteraction interaction, UIDragItem item, UITargetedDragPreview defaultPreview) { if (item.LocalObject == null) { return(null); } else { DropPoint = defaultPreview.View.Center; var target = new UIDragPreviewTarget(View, DropPoint); // HACK: why is this null? //return defaultPreview.GetRetargetedPreview(target); return(defaultPreview); } }
private UITargetedDragPreview DragPreviewForItem(UIDragItem item) { var qrCode = item.LocalObject as QRDetectionResult; if (qrCode == null) { return(new UITargetedDragPreview(this)); } var previewView = new UIImageView(qrCode.CroppedImage); previewView.Frame = ConvertRectToView(this.ConvertFromImageRect(qrCode.RectInOriginalImage), Window); var target = new UIDragPreviewTarget(Window, previewView.Center); var parameters = new UIDragPreviewParameters() { VisiblePath = UIBezierPath.FromRoundedRect(previewView.Bounds, 20f) }; return(new UITargetedDragPreview(previewView, parameters, target)); }
public UITargetedDragPreview GetPreviewForDroppingItem(UIDropInteraction interaction, UIDragItem item, UITargetedDragPreview defaultPreview) { var target = new UIDragPreviewTarget(this, IconView.Center, CGAffineTransform.Scale(new CGAffineTransform(), 0.1f, 0.1f)); return(defaultPreview.GetRetargetedPreview(target)); }