我正在创建https://github.com/romaonthego/RESideMenu的第一个绑定,一切顺利,直到我编译了我的绑定项目。我得到的一个错误是接口中的 UIGestureRecognizerDelegate不是接口。如果我使用IUIGestureRecognizerDelegate,我可以获得编译绑定,但从演练的外观来看,这不是正确的方法。我遇到了另一个关于同一问题的问题,除了他们使用自定义类型,而这是一个框架中的类型,所以我很困惑为什么它不编译。这里的正确方法是什么?
该类的Objective-C代码是:
@interface RESideMenu : UIViewController <UIGestureRecognizerDelegate>
在我的ApiDefinition.cs中:
[BaseType (typeof (UIViewController))]
public partial interface RESideMenu : UIGestureRecognizerDelegate
答案 0 :(得分:1)
由于这只是说明您的类采用了协议,因此可以删除UIGestureRecogznierDelegate属性。如果你需要使用“this”作为需要UIGestureRecognizerDelegate的参数,你可以使用属性的“弱”版本。
例如:
var d = new UIGestureRecognizerDelegate ();
d.WeakDelegate = new RESideMenu ();
注意在那里使用“WeakDelegate”而不是“Delegate”。