Monotouch目标C绑定

时间:2012-10-26 05:32:36

标签: objective-c ios xamarin.ios

我在我们的项目中使用单声道绑定包含了一些来自“Cocoa Controls”的控件,它们都工作得很好,除非有一个我无法工作,我希望有人能发现一个明显的错误。

这是目标C头

typedef enum {
kWTShort = 1,
kWTLong = 5
} WToastLength;

@interface WToast : UIView

+ (void)showWithText:(NSString *)text;
+ (void)showWithImage:(UIImage *)image;


+ (void)showWithText:(NSString *)text length:(WToastLength)length textColor:(UIColor *)    textColor backgroundColor:(UIColor *) backGroundColor;
+ (void)showWithImage:(UIImage *)image length:(WToastLength)length;



@end

这是Mono ApiDefinition

[BaseType (typeof(UIView))]
interface WToast
{
      [Export("showWithText:")]
       void ShowText(String text);


    [Export("showWithText:length:textColor:backgroundColor:")]
    void ShowText(string text,ToastLenght lenght,UIColor textColor,UIColor   backgroundColor);
}

注意我没有包含enum ToastLength

对象实例化的任何方式但是当我调用ShowText时,程序无法找到选择器[WToast showWithText:]

我希望有人可以提供帮助

尊敬ChristianStœrAndersen

1 个答案:

答案 0 :(得分:3)

我想我只需要稍微离开代码。

答案是我有点厚了

你会注意到目标c函数是

+ (void)showWithText:(NSString *)text;

不是

- (void)showWithText:(NSString *)text;

Mono定义应该是

[Static,Export("showWithText:")]
   void ShowText(String text);

[Export("showWithText:")]
   void ShowText(String text);

全部谢谢