要在 iOS 11 中执行文件拖放操作,您需要实现 NSItemProviderReading
,这里有 swift 的示例代码:iOS 11 dropInteraction performDrop for files
但是,如何在 Xamarin 中做到这一点,我猜类定义应该是这样的,但是如何实现这些方法呢?
public class DocumentProvider : NSObject, INSItemProviderReading
{
}
最佳答案
您可以像这样实现 NSItemProviderReading
:
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;
}
}
}
关于ios - Xamarin 上的 NSItemProviderReading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46448313/