从我正在使用的绑定 API 的文档中:
覆盖类名
使用它来使用特定的子类而不是默认的 PSPDF* 类。例如,添加一个 [PSPDFAnnotationParser 类] / [MyCustomAnnotationParser 类] 作为键/值对来使用自定义子类。(MyCustomAnnotationParser 必须是 PSPDFAnnotationParser 的子类)如果覆盖类不是被覆盖类的子类,则引发异常。注意:保存到磁盘时不会序列化。
@property (nonatomic, strong) NSDictionary *overrideClassNames
这是我尝试过但不起作用的方法。显然不需要字符串,而是需要实际类型或其他东西。如何在 MonoTouch 中使用它?
var oClassDic = new NSMutableDictionary();
oClassDic.Add(new NSString("[PSPDFAnnotationParser class]"), new NSString("[PSPDFKitAnnotationParser class]"));
oDoc.OverrideClassNames = oClassDic;
我创建的 PSPDFKitAnnotationParser 是这样的:
[Register("PSPDFKitAnnotationParser")]
public class PSPDFKitAnnotationParser : PSPDFAnnotationParser
{
public PSPDFKitAnnotationParser () : base()
{
}
public PSPDFKitAnnotationParser (PSPDFDocumentProvider provider) : base(provider)
{
}
public PSPDFKitAnnotationParser (IntPtr handle) : base(handle)
{
}
public PSPDFKitAnnotationParser (NSObjectFlag t) : base(t)
{
}
public PSPDFKitAnnotationParser (NSCoder coder) : base(coder)
{
}