如何在MonoTouch中使用UIActivityViewController

use*_*208 4 c# xamarin.ios ios6 uiactivityviewcontroller

我试图使用UIActivityViewController以下代码从MonoTouch 访问:

var textToShare = new NSString("hallo there");
var activityItems = new NSObject[] {textToShare};
var excludedActivityTypes = new NSString[] { new NSString("UIActivityTypePostToWeibo"),       new NSString("UIActivityTypeMessage") };
var activityViewController = new UIActivityViewController(activityItems, null);
activityViewController.ExcludedActivityTypes = excludedActivityTypes;
this.PresentViewController(activityViewController, true, null)
Run Code Online (Sandbox Code Playgroud)

将显示iOS操作表,但不排除指定的活动.有什么建议问题是什么?有没有MonoTouch样品?

pou*_*pou 5

你很亲密 改变这个:

var excludedActivityTypes = new NSString[] { 
    new NSString("UIActivityTypePostToWeibo"),
    new NSString("UIActivityTypeMessage") 
};
Run Code Online (Sandbox Code Playgroud)

成:

var excludedActivityTypes = new NSString[] {
    UIActivityType.PostToWeibo,
    UIActivityType.Message
};
Run Code Online (Sandbox Code Playgroud)

注意:常量的名称并不总是与其值相同.对于ObjC来说,比较NSString指针(而不是它们的值)以检测常量相等也是常见的(即使是不好的做法)- NSString在这种情况下创建自己的实例将无法工作(无论如何,暴露const更好看,并且在代码完成时工作得更好来自IDE).