2017-09-27 3 views
0

Pour faire glisser des fichiers & drop des fichiers dans 11 iOS vous devez implémenter NSItemProviderReading, il y a l'exemple de code pour swift ici: iOS 11 dropInteraction performDrop for filesNSItemProviderReading sur Xamarin

Cependant, comment faire en Xamarin, je suppose que la classe définition devrait ressembler à ceci, mais comment mettre en œuvre les méthodes?

public class DocumentProvider : NSObject, INSItemProviderReading 
{ 

} 

Répondre

1

Vous pouvez mettre en œuvre la NSItemProviderReading comme ceci:

class MyItemProvider : UIView, INSItemProviderReading { 

    [Export ("readableTypeIdentifiersForItemProvider")] 
    public static string [] ReadableTypeIdentifiersForItemProvider => new string [] { "public.image", "public.data" } 

    [Export ("objectWithItemProviderData:typeIdentifier:error:")] 
    public static MyItemProvider GetObject (NSData data, string typeIdentifier, out NSError outError) 
    { 
     outError = null; 
     switch (typeIdentifier) { 
     case "public.image": return new ...; 
     case "public.data": return new ...; 
     default: 
      outError = new NSError (...); 
      return null; 
     } 
    } 
} 

Référence: NSItemProviderReading requirements.

+0

Il est partiellement utile, mais comme il semble que vous ne pouvez pas créer une instance de la classe dans sa méthode statique, cela ne fonctionne pas ... –